【问题标题】:Unable to upload file when using JQuery file upload, Spring MVC and Spring Security.使用 JQuery 文件上传、Spring MVC 和 Spring Security 时无法上传文件。
【发布时间】:2015-11-09 06:34:24
【问题描述】:
【问题讨论】:
标签:
jquery
spring
spring-mvc
spring-security
jquery-file-upload
【解决方案1】:
经过大量调试和检查 Spring Security/MVC 架构,这是我想出的:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ResponseEntity<UploadPictureResult> pictureUpload(FirewalledRequest initialRequest) {
DefaultMultipartHttpServletRequest request = (DefaultMultipartHttpServletRequest) initialRequest.getRequest();
try {
MultipartFile multipartFile = request.getFile("files[]");
List<MultipartFile> multipartFileList = request.getFiles("files[]");
Iterator<String> iterator = request.getFileNames();
while (iterator.hasNext()) {
MultipartFile file = request.getFile(iterator.next());
service.save(toImage(file));
}
} catch (Exception e) {
return new ResponseEntity<UploadPictureResult>(new UploadPictureResult(),
HttpStatus.INTERNAL_SERVER_ERROR);
}
return new ResponseEntity<UploadPictureResult>(new UploadPictureResult(), HttpStatus.OK);
}
注意 FirewallRequest !!!