java 检测文件上传大小,不能超过1M

本文探讨了在SpringBoot中上传超过1M大小文件时,前端页面直接显示报错的问题。通过调整配置文件增加文件上传限制,并在后端判断文件大小,确保上传过程的顺利进行。
# 情境
今天上传图片的时候,超过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";
}

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值