java后台怎么上传判断文件上传的大小,文件大小超出10M的话不能被保存,并且有提示,求解!!!
multipartFile 有个getSize() 方法。下边是我之前项目中写的判断大小的方法。
你可以看下 MultipartFile 源码。
private boolean checkFileSize(MultipartFile multipartFile, String fileSize)
{
int size = 1024 * 1024; //自己根据需要定义
if (StringUtils.isNotEmpty(fileSize) && fileSize.matches("\\d+"))
{
size = Integer.valueOf(fileSize) * 1024;
}
if (multipartFile == null
|| multipartFile.getOriginalFilename() == null)
{
return false;
}
return multipartFile.getSize() <= size;
}
1、首先设置文件大小可以在Spring配置文件中配置限制文件的大小
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10240000" />
</bean>
之后在action层(controller层)捕获异常MaxUploadSizeExceededException,或者配置全局的异常过滤器。
2、获取文件大小,可以这么写:
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) httpServletRequest;
Iterator<String> iter = multiRequest.getFileNames();
while (iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next());
file.getSize();
}