【问题标题】:Multiple File Upload in asp.net mvcasp.net mvc中的多个文件上传
【发布时间】:2016-07-12 15:31:54
【问题描述】:

我需要从同一个表单的单个文件上传器和多个文件上传器获取文件。并且还需要知道这些文件来自哪个输入字段。 从 Request.Files 我可以获取所有文件,但不知道这些文件来自哪个字段。

我有一个表格。

<form> 
    <input type="file" name="file1">
    <input type="file" name="files" multiple="true"> 
</form>`

【问题讨论】:

标签: c# asp.net-mvc


【解决方案1】:

直接使用模型而不是Request.Files。根据您的观点,您可以执行以下操作:

public class UploadForm
{
    public HttpPostedFileBase file1 {get;set;}

    public IEnumerable<HttpPostedFileBase> files {get;set;}
}

然后在你的行动中:

public ActionResult Uploade(UploadForm form)
{
    if(form.file1 != null)
    {
        //handle file
    }

    foreach(var file in form.files)
    {
        if(file != null)
        {
            //handle file
        }
    }
    ...
}

【讨论】:

    【解决方案2】:

    如果这两个上传控件具有不同的名称属性,您可以让模型绑定器完成工作。您只需将控制器操作中的参数命名为与上传控件的名称相同。

    public ActionResult Upload(HttpPostedFileBase file1, IEnumerable<HttpPostedFileBase> files)
    {
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-07
      • 2019-01-29
      • 2014-11-04
      • 2018-09-04
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      相关资源
      最近更新 更多