按列表<httppostedfilebase>

时间:2016-09-10 10:35:59

标签: ajax asp.net-mvc file upload

我只想通过模型将多个文件发布到控制器。

class myModel{
    public List<string> contexts {get;set;}
    public List<HttpPostedFileBase> images {get;set;}
}

还有Html

<input id="myImages" type=file multiple="multiple>

用户将文件添加到输入标签和基于文件计数动态创建的文本输入

<input id="text0"></input>
<input id="text1"></input>
<input id="text3"></input>
           ...
           .

用户填写文本输入后。点击保存按钮。 我想通过我的模型将这些数据传递给我的控制器。 我尝试表格数据,但我不能成功

有我的尝试

<script>
    function someFunction(){
        var data = new FormData();
        for (i = 0; i < $("#myImages")[0].files.length; i++) {
            data.append("images[]", $("#myImages")[0].files[i]);
            data.append("contexts[]", $("#text" + i).val());
        }
        $.ajax
        ({
            url: "/Admin/CreateGallery",
            type: "POST",
            data: data,
            contentType: false,
            processData: false,
            success:function(){
                alert("very well");
            }
        });
    }
</script>

我可以获取上下文,但图像列表始终为空

1 个答案:

答案 0 :(得分:3)

只需更改此内容。

data.append("images[]", $("#myImages")[0].files[i]);

到这个

data.append("images", $("#myImages")[0].files[i]);