从View发送IEnumerable <httppostedfilebase>

时间:2017-03-07 09:53:11

标签: c# html .net asp.net-mvc file-upload

我正在向包含IEnumerable<HttpPostedFileBase>

的行动发送图片

以下是我的模特

public class M
{
    public IEnumerable<HttpPostedFileBase> images { get; set; }
}

行动是

    [HttpPost
public async Task<ActionResult> ABC(CODE.M model)
{
    ...
}

我的文件上传控件数量是三个。像这样

@using (Html.BeginForm(new { enctype = "multipart/form-data" })) 
{
    Main <input type="file" id="image1" name="images" />
    Image 2  <input type="file" id="image2" name="images"/>
    Image 3 <input type="file" id="image3" name="images" />
}

在fiddler上显示所有图片都已发布但行动中IEnumerable<HttpPostedFile>显示计数0

在fiddler上,所有三个fileupload元素都显示images作为其名称

无论如何我也试过像这样使用

Main <input type="file" id="image1" name="images[0]" />
...
...

但显然它必须在帖子

时显示null

我的问题是如何命名我的fileupload元素?

之前有人遇到过这个吗?

1 个答案:

答案 0 :(得分:-2)

而不是:

    public class M{  public IEnumerable<HttpPostedFileBase> images { get; set; }}

使用它:

    public class M{  public HttpPostedFileBase[] images { get; set; }}