Ошибка загрузки MultipartFile в SpringBoot с помощью AJAX - PullRequest
0 голосов
/ 08 октября 2018

Хотя загрузка работает нормально с обычным способом html & form, но переключается на ajax, он ломается и MultipartFile всегда Null в режиме отладки.

code below works fine

//html code
<form method="POST" action="/api/upload" enctype="multipart/form-data" id="fileUploadForm">
    <input type="file" name="file"/>
    <input type="submit" value="submit" id="btnSubmit"/>
</form>

//java code
@RequestMapping(value = "/api/upload", consumes = "*/*", method = RequestMethod.POST)
public ResponseEntity upload(@RequestParam(value = "file", required = false) MultipartFile file, MultipartHttpServletRequest request) {
    return new ResponseEntity(fileService.upload(file), HttpStatus.OK);
}

следующий код НЕ РАБОТАЕТ !

$(document).ready(function () {
    $("#btnSubmit").click(function (event) {
        event.preventDefault();
        var form = $('#fileUploadForm')[0];
        var data = new FormData(form);
        $.ajax({
            type: "POST",
            enctype: 'multipart/form-data',
            url: "/api/upload",
            data: data,
            processData: false,
            contentType: false,
            cache: false,
            timeout: 600000,
            success: function (data) {
                console.log("SUCCESS : ", data);
                $("#btnSubmit").prop("disabled", false);

            }
        });
    });
});

кто-нибудь здесь подсказки?

1 Ответ

0 голосов
/ 09 октября 2018

Ну, на самом деле это вопрос jQuery ...

просто используйте код

var form = new FormData();
form.append("file", $("#fileInput")[0].files[0]);

сделано

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