ajax - 通过 List<HttpPostedFileBase> 发布多个文件

标签 ajax asp.net-mvc file upload

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

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>
           ...
           .

用户填写文本输入后。点击保存按钮。 我想通过我的模型将这些数据传递给我的 Controller 。 我尝试了表单数据,但没有成功

这是我的尝试

<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>

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

最佳答案

只是改变这个。

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

到此

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

关于ajax - 通过 List<HttpPostedFileBase> 发布多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39425184/

相关文章:

java - 如何从txt中读取行?

file - 如何执行文件系统扫描

php - jquery 和 ajax 页面刷新问题

javascript - Ajax 数据库的替代品

c# - 如何最好地在多个应用程序中重用 MVC3 Controller / View ?

asp.net-mvc - 在每个 Visual Studio 应用程序发布上重置 IIS 应用程序池标识权限

ios - 如何保护我的 iOS 应用免受 iFunbox 等工具的侵害

javascript - Laravel PHP 脚本与对话框绑定(bind)

java - 如果请求超过 1.5 秒,则不会显示 RichFaces 建议框

c# - 从 Controller 的方法重定向到 ~/Shared/Error.cshtml