use*_*681 2 asp.net-mvc internet-explorer
我想在asp.net中保存上传的excel文件.在Chrome中这很好用:
if (Request.Files.Count > 0)
{
var currentUser = User.Identity.GetUserId();
var file = Request.Files[0];
if (file != null && file.ContentLength > 0)
{
var fileName = string.Format(DateTime.Now.ToString("yyyy-MM-dd HH_mm_ss_") + file.FileName);
var path = Path.Combine(Server.MapPath("~/Documents/"), string.Format("{0}", fileName));
file.SaveAs(path);
uploadModel.Document = fileName;
}
}
Run Code Online (Sandbox Code Playgroud)
在Chrome中,var fileName为"2015-06-29 14_33_53_example.xlsx",在IE中,fileName为"2015-06-29 14_21_00_C:\ example.xlsx".并通过执行file.SaveAs(path)抛出错误;
我怎样才能支持IE?
尝试使用System.IO.Path.GetFileName来解析IE发送的完整路径.这适用于所有浏览器:
var parsedFileName = Path.GetFileName(file.FileName);
var fileName = string.Format(DateTime.Now.ToString("yyyy-MM-dd HH_mm_ss_") + parsedFileName );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |