问题描述
我在用 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 (将#修改为@)