来自ASP核心控制器的api不会收到FormData.append(key,value)附加的所有值

时间:2019-03-20 03:20:22

标签: javascript jquery asp.net-core form-data

我想一起上传文件(图像,设置文件)和一些其他文本字符串。 这是我的ajax代码:

function uploadFiles(inputId) {

var input = document.getElementById(inputId);
var files = input.files;
formData = new FormData();

for (var i = 0; i !== files.length; i++) {
    var temp1 = files[i];
}

formData.append('temp', 1);
formData.append('temp', "ksjhdfksdjf");

$.ajax({
    type: "POST",
    url: "/Admin/FileUploadView/SaveEntity",
    data: formData,
    contentType: false,
    processData: false,

    beforeSend: function () {
        tedu.startLoading();
    },
    success: function () {

    },
    error: function () {

    }
});
}

这是我的控制者:

enter image description here

当我记录formData对象包含的所有文件时,一切正常:

enter image description here

但是我在控制器中只收到2个图像的对象:

enter image description here

现在,我希望我可以接收所有附加的文件。您有任何想法吗,请帮助我。

1 个答案:

答案 0 :(得分:1)

您不会在控制器中收到temp

js:

function uploadFiles(inputId) {
    var input = document.getElementById(inputId);
    var files = input.files;
    var formData = new FormData();

    for (var i = 0; i != files.length; i++) {
        formData.append("files", files[i]);
    }
    formData.append('temp', 1);
    formData.append('temp', "ksjhdfksdjf");
   //ajax

控制器:

[HttpPost]
public async Task<IActionResult> SaveEntity(IList<IFormFile> files,List<string> temp)