我有一个Spring Boot Web应用程序,它将处理大文件(最大5g)上载,然后将其保存到s3。请求和响应可能会持续很长时间。
那么,处理这种上传和下载的最佳实践是什么?如何在下载或上传大文件时取得良好的性能以防止服务器停机?
您可以使用多部分/表单数据
@RequestMapping(value = "/agency/create", method = RequestMethod.POST, consumes = "multipart/form-data")
public ResponseEntity<List<String>> createAgency(
@RequestParam(value = "username", required = true) String username,
@RequestParam(value = "pic1", required = true)MultipartFile pic1File,
MultipartHttpServletRequest request, ModelAndView modelAndView) {
List<String> requestKeys=new ArrayList<String>();
List<String> originalFileName=new ArrayList<String>();
request.getFileNames().forEachRemaining(requestKeys::add);
for(String multipartFile:requestKeys) {
originalFileName.add(request.getFile(multipartFile).getOriginalFilename());
}
storageService.store(pic1File);
return new ResponseEntity<List<String>>(originalFileName, HttpStatus.CREATED);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句