# 情境
今天上传图片的时候,超过1M,然后上传后,前端页面直接显示报错页面了
这个问题,当时想着,直接前端判断一下,上传文件大小不就行了嘛,而且
个人认为,正常的操作也应该是前端来做,当时前端忙着,且我也是刚进来的新人
故,前端就做了请求,我在后端做判断的
# 问题
网上方案,上传1M的不行,那么就给你10M,这样就不会报错了
但是,我这边需要的是判断当前上传文件大小,是否超过1M
当超过1M的时候,根本不会进入api接口,在拦截层直接就报错了
# 解决
1. 第一种方案,比较直接的,在拦截层处理 (直言:我不会,太久没做了)
2. 第二种方案,因为网上也确实没有直接的解决方案,故,原创解决思路
因为springboot内置的文件上传大小为1M,先通过配置文件
将上传文件大小设置为2M,先把请求放进来,其次,就可以处理了
1. springboot配置
spring:
servlet:
# 限制上传文件大小
multipart:
max-file-size: 2MB
max-request-size: 2MB
2. 判断上传文件大小 (java代码)
// 检测文件大小 (不能大于1M)
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = multipartRequest.getFile("imageFile");
long size = multipartFile.getSize();
if(size >= 1048576){
dataMap.put("message", "图片文件不能大于1M");
return "seller/mindex/banner/banneredit";
}