Tôi đang cố gắng tải lên tệp nhiều tệp bằng cách sử dụng FormData và spring.Tải lên nhiều tệp bằng ajax và spring mvc
HTML:
<input type="file" name="img" multiple id="upload-files">
JS mã:
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
});
Xuân điều khiển mã:
@RequestMapping(value = "/upload", produces="application/json", method = RequestMethod.POST)
@ResponseBody
public String upload(
@RequestParam ArrayList<MultipartFile> files
){
System.out.println(files.size());
return null;
}
Tuy nhiên, số lượng các tập tin được sắp ra là 0 khi gửi yêu cầu với nhiều tệp. Khi sử dụng ký hiệu mảng MultipartFile[] files
thay vì ArrayList, nó cung cấp 400, Yêu cầu không hợp lệ.
Làm cách nào để bộ điều khiển lò xo hoạt động với nhiều tệp? Tôi không thể tìm ra giải pháp cho các câu hỏi SO khác.
Bạn đã thử định vị lại danh sách thành một đối tượng và cấu hình CommonsMultipartResolver và InternalResourceViewResolver trên spring-servlet.xml chưa? –
Bạn đã thêm mã hóa đúng vào nút gửi biểu mẫu chưa? ví dụ.