微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从客户端 httppostedfilebase

如何解决从客户端 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 举报,一经查实,本站将立刻删除。