FormData ve spring kullanarak çok yönlü dosyaları yüklemeye çalışıyorum.ajax ve spring mvc kullanarak birden çok dosya yükleyin
HTML:
<input type="file" name="img" multiple id="upload-files">
JS kodu:
var ajaxData = new FormData();
var files = $('#upload-files').prop('files');
for(var i=0;i<files.length;i++){
ajaxData.append('file['+i+']', files[i]);
}
ajaxData.append("file", files);
$http.post('../rest/upload', ajaxData, {
headers: {'Content-Type': undefined },
transformRequest: angular.identity
});
Bahar Denetleyici kodu:
Ancak@RequestMapping(value = "/upload", produces="application/json", method = RequestMethod.POST)
@ResponseBody
public String upload(
@RequestParam ArrayList<MultipartFile> files
){
System.out.println(files.size());
return null;
}
, dosyaların sayısı ile isteği göndermeden 0'a olduğu ortaya geliyor çoklu dosyalar. ArrayList yerine MultipartFile[] files
dizi notasyonu kullanıldığında, 400, Bad Request verir.
Yay denetleyicisi birden çok dosya ile nasıl çalışır? Diğer SO sorularına çözüm bulamıyorum.
Listeye nesnesini yeniden yerleştirmeyi denediniz mi ve spring-servlet.xml dosyasında CommonsMultipartResolver ve InternalResourceViewResolver'ı yapılandırdınız mı? –
Form gönderme düğmesine doğru şekilde encType eklediniz mi? Örneğin.