如何解决从客户端 httppostedfilebase
我在用 MVC4 制作的 IIS 上托管了一个网站。其中有一个文件上传按钮。上传文件时,文件名会出现在视图中。我正在使用 HttpPostedFilebase 上传文件。 90% 的时间都有效。但是,在极少数情况下,某些文件没有上传,我收到错误消息:“找不到路径 C:\Users... 的一部分”。
此路径存在,我正在从文件资源管理器对话框中选择文件。可能是什么问题,我该如何调试,请帮忙。客户端用户会发生这种情况。
代码:
我基本上有一个带有文件上传按钮的剃刀视图,用户可以在其中上传多个文件。
<input type="file" id="files" name="files" multiple/>
在后端,我像这样将它们保存到服务器:
控制器:
if (files != null)
foreach (var file in files)
{
UploadFile(file);
}
files 被定义为控制器签名中的入口参数:
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files)
功能:
public string UploadFile(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var path = Path.Combine(Server.MapPath("~/Files/"),file.FileName);
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
try
{
file.SaveAs(path);
}
catch (Exception ex)
{
Log.LogError(string.Format("Unexpected error"));
}
return file.FileName;
}
return "";
}
现在,所有这些都有效,但在极少数情况下,某些文件不会上传 - 而是在视图中显示指向 PC 上文件位置的链接,而不是文件名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。