Api от основного контроллера Asp не получает все значение, добавленное FormData.append (ключ, значение) - PullRequest
0 голосов
/ 20 марта 2019

Я хочу загрузить файлы (изображение, установочный файл) и некоторые другие текстовые строки вместе. Это мой код 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, все в порядке:

* +1012 *enter image description here

Но я получаю только 2 объекта изображения в контроллере:

enter image description here

Теперь я хочу, чтобы я мог получать все файлы, которые я добавил. У вас есть идеи, пожалуйста, помогите мне.

1 Ответ

1 голос
/ 20 марта 2019

Вы не получаете 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)
...