Модель отправки ajax-файла ASP.Net пуста, в то время как переменные отдельно работают нормально - PullRequest
0 голосов
/ 10 ноября 2019

Я хочу загрузить файл с ajax. У меня такая проблема. Когда я пытаюсь получить модель - она ​​пуста, но когда я пытаюсь получить все как отдельные значения - все работает нормально.

public ActionResult UploadImage(HttpPostedFileBase File, string UniqueCode)
{
   // in this case it works
}

public ActionResult UploadImage(FileUploadModel file){
  // in this case the model is empty
}

Как выглядит модель

public class FileUploadModel {
    public string UniqueCode { get; set; }

    [ValidateImage(ErrorMessage = "Please select a PNG image smaller than 3MB")]
    public HttpPostedFileBase File { get; set; }
}

Как я могу опубликовать данные. Работает при смене входа.

$(document).on('change', ".preview-input", function(e){
    var blobInfo = $(this)[0].files[0];
    if (blobInfo) {
        let formData = new FormData();
        formData.append('File', blobInfo);
        formData.append('UniqueCode',"TEST");
        $.ajax(
            {
                url: '/files/UploadAttachmentImage',
                type: 'POST',
                cache: false,
                contentType: false,
                processData: false,
                data: formData,
            })
            .success(function (response) { console.log(response); })
            .error(function (response) { console.log(response); }); 
    } else {
        console.log('321');
    }
});

Что такое магия? Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 10 ноября 2019

Магия c # и платформы .net. Вот почему я ненавижу этот язык. Все, что мне нужно было сделать, это поменять FileUploadModel file на FileUploadModel model и все стало работать как надо.

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