Файловый объект устанавливается в строку, даже если ContentType false - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь передать объект File в переменную контроллера HttpPostedFileBase, но не могу связать его должным образом.

Ajax-вызов Javascript:

var formData = new FormData();

var _documents = [];

for (var i = 0; i < arrayOfFiles.length; i++) {
    var document = {
        File: arrayOfFiles[i].file,
        DocumentId: arrayOfFiles[i].documentId,
        DocumentType: arrayOfFiles[i].documentName
    };

    _documents.push(document);
    formData.append("file", document.File);
    formData.append("id", 146);
}

jQuery.ajaxSettings.traditional = true;
$.ajax({
    async: false,
    cache: false,
    contentType: false,
    processData: false,
    type: 'POST',
    url:  '@Url.Action("UploadFile", "Home")',
    data: formData
});

контроллер MVC:

[HttpPost]
[ActionName("UploadFile")]
public ActionResult UploadFile(IEnumerable<int> id, IEnumerable<HttpPostedFileBase> file)
{
    var aa = Request.Form.Get("file");
    return View();
}

aa получает строку "[объект объекта]", id получает список, содержащий 146 и file получает пустой массив.

Как правильно отправить объект File, чтобы он связывался с file?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...