首页 新闻 搜索 专区 学院

java后台怎么上传判断文件上传的大小

0
悬赏园豆:5 [已解决问题] 解决于 2019-04-18 10:17

java后台怎么上传判断文件上传的大小,文件大小超出10M的话不能被保存,并且有提示,求解!!!

仄平Z的主页 仄平Z | 初学一级 | 园豆:179
提问于:2019-03-29 11:02
< >
分享
最佳答案
1

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;
}
收获园豆:5
coco_xu | 小虾三级 |园豆:505 | 2019-03-29 12:40
其他回答(2)
0
ycyzharry | 园豆:22248 (高人七级) | 2019-03-29 13:16
0

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();
}

JJian | 园豆:204 (菜鸟二级) | 2019-04-18 16:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册