如何在ajax帖子中发布序列化对象和多个图像?

时间:2015-08-22 09:24:33

标签: jquery ajax asp.net-mvc-4

我试图通过ajax帖子将值发布到控制器。这里我的问题是我使用Serialize方法发布表单值。我也要发送图像。如何发送图像和表单数据以及接受文件和模型值的控制器方法应该是什么?

我得到的所有文字值都是这样的

var files = $("#formid").serialize();

我正在收到这样的图片

 var form1Data = new FormData();
 var totalFiles = document.getElementById("files").files.length;
  for (var i = 0; i < totalFiles; i++) {
        var file = document.getElementById("files").files[i];
        form1Data.append("files", file);
  }

在ajax调用中,我必须发送文件和formdata。如何发送ajax调用

 $.ajax(
         {
             url: "/Home/PostanAd/",
             type: "POST",                  
             data: { form1Data: form1Data, files: files },
             contentType: false,
             processData: false,
         });

有人可以建议答案吗?

1 个答案:

答案 0 :(得分:0)

var formData = new FormData();

//对于每个表单输入,请使用此行

form_data.append("name1", $("#id1").val());

//现在将所有图像添加到表单数据对象

var totalFiles = document.getElementById("files").files.length;
for (var i = 0; i < totalFiles; i++) {
    var file = document.getElementById("files").files[i];
    formData.append("files[]", file);  //Use [] to add multiple.
}

//然后只使用数据进行简单的ajax调用:仅限formData

$.ajax(
            {
                url: "/Home/PostanAd/",
                type: "POST",

                data: formdata,
                contentType: false,
                processData: false,