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

ASP.NET MVC3 RAZOR:文件上载给出文件计数为零

我需要使用带有RAZOR的MVC3将多个文件上传到Web服务器.我有以下代码.在控制器中,我的文件数为零.如何更正它以获取上传文件的实际数量获取内容
public class MyFileController : Controller
{

    public ActionResult MyFileProcessActiontest()
    {
        return View();
    }

    [HttpPost]
    public ActionResult MyFileProcessActionTest(IEnumerable<System.Web.HttpPostedFileBase> files)
    {

        int fileCount = files.Count<System.Web.HttpPostedFileBase>();
        return RedirectToAction("Index");
    }
}

视图

@{
ViewBag.Title = "MyFileProcessActionTest";
}

<h2>MyFileProcessActionTest</h2>

@using (Html.BeginForm())
{

<input type="file" name="files" id="file1" />
<input type="file" name="files" id="file2" />

<input type="submit"  />

}

读:

> Binding HttpPostedFileBase using Ajax.BeginForm
> ASP.NET MVC上传和下载文件
http://www.mikesdotnetting.com/Article/125/ASP.NET-MVC-Uploading-and-Downloading-Files
> How do I Validate the File Type of a File Upload?
> MVC 3 file upload and model binding

解决方法

更改您的表单以匹配以下内容
@using(Html.BeginForm("action","controller",FormMethod.Post,new{encType = "multipart/form-data"})){
{

<input type="file" name="files[0]" id="file1" />
<input type="file" name="files[1]" id="file2" />
<input type="file" name="files[2]" id="file3" />

<input type="submit"  />

}

索引0,1,2将允许modelbinder绑定到IEnumerable,此外还必须在将文件发布到服务器时指定encType

原文地址:https://www.jb51.cc/aspnet/251094.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐