ASP.NET MVC 3.0 文件上传

874

前言:该问题涉及到ASP.NET MVC 3.0(发布于2011年),不是关于2019年发布的ASP.NET Core 3.0。

我想在ASP.NET MVC中上传文件。如何使用HTML input file控件来上传文件?


2
你想把文件存储在哪里?数据库还是服务器硬盘?对于第一部分,第二个答案就可以解决问题。对于第二部分,您需要设置一个文件路径和存储文件的位置,然后您应该使用这个链接:http://www.4guysfromrolla.com/webtech/faq/FileSystemObject/faq4.shtml - radu florescu
11
您所提到的参考资料是针对WScript/ASP Classic。所要求的问题涉及在.Net 4(MVC 3)中的使用。 - Tracker1
23个回答

1

我在进行文件上传时遇到了同样的错误。我知道很多开发人员为这个问题提供了答案。

尽管如此,我回答这个问题的原因是,由于下面提到的粗心错误,我也遇到了这个错误。

<input type="file" name="uploadedFile" />

在给名称属性命名时,请确保您的控制器参数也具有相同的名称值“uploadedFile”。就像这样:
   [HttpPost]
            public ActionResult FileUpload(HttpPostedFileBase uploadedFile)
            {

            }

否则它将无法映射。

1
在控制器中
 if (MyModal.ImageFile != null)
                    {
                        MyModal.ImageURL = string.Format("{0}.{1}", Guid.NewGuid().ToString(), MyModal.ImageFile.FileName.Split('.').LastOrDefault());
                        if (MyModal.ImageFile != null)
                        {
                            var path = Path.Combine(Server.MapPath("~/Content/uploads/"), MyModal.ImageURL);
                            MyModal.ImageFile.SaveAs(path);
                        }
                    }

在视图中
<input type="hidden" value="" name="..."><input id="ImageFile" type="file" name="ImageFile" src="@Model.ImageURL">

在模态类中。
 public HttpPostedFileBase ImageFile { get; set; }

在项目的Content文件夹中创建一个名为uploads的文件夹。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接