Хотя загрузка работает нормально с обычным способом 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);
}
});
});
});
кто-нибудь здесь подсказки?