Przesyłam plik za pomocą ajax do wiosennego kontrolera mvc przy użyciu następującego kodu
var formData = new FormData();
formData.append("file", file);
$.ajax({
url: url,
data: formData,
cache: false,
contentType: false,
processData: false,
type: "POST",
});
Widzę moje dane w poście http, ale w kontrolerze otrzymuję wartość zerową.
@RequestMapping(value = { "/file.htm" }, method = RequestMethod.POST)
public @ResponseBody String upload(@RequestParam(value="file",required=false) CommonsMultipartFile file
) throws IOException {
String response="";
}
Próbowałem z MultipartFile
również. Próbowałem nawet użyć MultipartHttpServletRequest
i próbował uzyskać dane z żądania, ale nie może go uzyskać. Daj mi znać, jak to rozwiązać. Dzięki
Odpowiedzi:
1 dla odpowiedzi № 1spróbuj użyć @RequestPart zamiast @RequestParam
1 dla odpowiedzi nr 2
var fd = new FormData();
fd.append( "file", $("input[name=file]").files[0]);
var ajaxReq = $.ajax({
url : "kolfileUpload",
type : "POST",
data : fd,
cache : false,
contentType : false,
processData : false,
});