有人能帮我吗?我在使用multipart验证rest控制器中的文件大小限制时遇到了一个问题,但它不起作用。我已经得到了multipart的大小,并添加了一些if语句来消息超出了文件的限制,但它不起作用。
@RequestMapping(value = "/importCsvFile", method = RequestMethod.POST)
public ResponseEntity<?> importCsvFile(MultipartFile inputFile) throws Exception {
if (inputFile == null || inputFile.isEmpty()) {
return new ResponseEntity<>("Please insert a CSV file.", HttpStatus.NOT_FOUND);
}
if (!inputFile.getContentType().equals("application/vnd.ms-excel")) {
return new ResponseEntity<>("Upload CSV file only.", HttpStatus.NOT_ACCEPTABLE);
}
if (inputFile.getSize() > 1048576) {**====> File size limit**
return new ResponseEntity<>("File too Large.", HttpStatus.NOT_ACCEPTABLE);
}
else {
List<Object> items = objectSrvc.importCsvFile(inputFile.getInputStream());
if (items == null) {
return new ResponseEntity<List<Object>>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<List<Object>>(items, HttpStatus.OK);
}
}
1条答案
按热度按时间oknrviil1#
如果你使用springboot,你可以按属性来做
application.yml
或者application.properties
,例如:此外,您还可以创建自定义验证器:
以及您自己的注解进行验证:
使用新注解创建请求类型:
并将@valid添加到控制器中:
并将此注解用于
@Validated
在控制器中,有关应用自定义验证注解的更多信息,请参见此处