MVC5 загружает картинки вместе с данными - PullRequest
0 голосов
/ 13 декабря 2018

Итак, я столкнулся с проблемой при использовании

<input type="file" multiple id="fileUpload" name="photos[]" accept="image/*" />

Он не инкапсулирован внутри тегов.

Каждый раз, когда я выбираю изображение, оно не обновляется, толькона обновление, это так.По какой-то причине я заметил, что каждый раз, когда я выбираю изображение, оно пытается выполнить метод POST, и оно просто остается «Нет выбранных файлов».

Это мой серверный метод для захвата изображений, обратите внимание, это работает, только если я выбираю файлы, затем обновляю страницу и нажимаю кнопку «Сохранить».

[HttpPost]
public JsonResult SaveTickets(string gridData)
{
   if (Request.Files.Count > 0)
   {
   //logic    
   }
}

Мои методы работают, но я понятия не имею, требуется ли ввод type="file", требующий от меняобновить страницу, чтобы загрузить изображения?

Дополнительный код с момента моего запроса, мой метод ajax для отправки данных на сервер.

    function saveTickets() {
    var gridData = $("#TicketsGrid").data("kendoGrid").dataSource.data();
    var formData = new FormData();
    var files = $("#fileUpload").prop("files");

    formData.append('gridData', JSON.stringify(gridData));

    for (var i = 0; i < files.length; i++) {
        var file = files[i];

        // Check the file type.
        if (!file.type.match('image.*')) {
            continue;
        }

        // Add the file to the request.
        formData.append('photos[]', file, file.name);
    }

    $.ajax({
        url: "@(Url.Action("SaveTickets", "Ticket"))",
        type: "POST",
        data: formData,
        dataType: "formData",
        processData: false,
        contentType: false,
        success: function (json) {
            if (json.Flag == "emptylist") { alert("No tickets to add."); }
            else if (json.Flag == "insertion_success") { alert(json.TicketCount + " tickets inserted successfuly!"); cleanTicketsGrid(); lockEventsGrid(false); }
            else if (json.Flag == "insertion_failure") { alert(json.TicketCount + " tickets failed to insert!");}
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...