@Slf4j
@Component
public class MultipartFileUtil {private final static Integer FILE_SIZE = 5;//文件上传限制大小
private final static String FILE_UNIT = "M";//文件上传限制单位(B,K,M,G)/*** @param len  文件长度* @param size 限制大小* @param unit 限制单位(B,K,M,G)* @描述 判断文件大小*/public static boolean checkFileSize(Long len, int size, String unit) {double fileSize = 0;if ("B".equalsIgnoreCase(unit)) {fileSize = (double) len;} else if ("K".equalsIgnoreCase(unit)) {fileSize = (double) len / 1024;} else if ("M".equalsIgnoreCase(unit)) {fileSize = (double) len / 1048576;} else if ("G".equalsIgnoreCase(unit)) {fileSize = (double) len / 1073741824;}return !(fileSize > size);}//文件上传调用public static String upload(MultipartFile file) {boolean flag = checkFileSize(file.getSize(), FILE_SIZE, FILE_UNIT);if (!flag) {throw new RuntimeException("上传文件大小超出限制");}}}
PS:以上基础需要项目本身设定好最大文件阈值,在阈值的基础上进行限制大小提示,如果不设置,文件上传大小默认1MB,超出则抛异常

#设置单个文件最大请求100MB,最多一次请求2个文件(具体设定看自己需求)
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=200MB

#设置文件上传大小不进行限制
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1

/*** @描述 文件下载* @参数 [response, filePath, filename]* @返回值 javax.servlet.http.HttpServletResponse* @创建时间 2021/6/29*/public static void download(HttpServletResponse response, String filePath, String filename) {try {// path是指欲下载的文件的路径File file = new File(filePath);// 以流的形式下载文件InputStream fis = new BufferedInputStream(new FileInputStream(filePath));byte[] buffer = new byte[fis.available()];fis.read(buffer);fis.close();// 清空responseresponse.reset();// 设置response的Headerresponse.setContentType("application/octet-stream; charset=UTF-8");response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "utf-8"));response.addHeader("Content-Length", "" + file.length());OutputStream toClient = new BufferedOutputStream(response.getOutputStream());toClient.write(buffer);toClient.flush();toClient.close();} catch (IOException ex) {ex.printStackTrace();}}

MultipartFile 对上传的文件大小进行限制相关推荐

  1. 上传MultipartFile格式文件限制文件大小

    启动类注入Bean @Beanpublic MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factor ...

  2. 更改Web.config中对上传文件大小限制

    在默认的Asp.net站点中,web.config对单个上传文件的大小有一定限制,默认为 4096K. 我们可以通过更改Web.Config文件来改变单个上传文件的大小. 代码如下: <http ...

  3. 10-java实现对上传文件做安全性检查

    对外接口支持文件上传功能时,为避免有人恶意上传有毒或者篡改程序的脚本,需要对上传的文件添加安全性校验. 文章目录 1.文件后缀校验 2.校验文件头 1.使用枚举类去校验 1.魔数枚举类 2.获取文件头 ...

  4. SpringBoot 使用MultipartFile上传组件实现本地上传用户头像

    GIF动图展示 SpringBoot 使用MultipartFile上传组件实现本地上传用户头像GIF效果图 本章目录 GIF动图展示 主要实现思路 1.使用MultipartFile需要引入的依赖 ...

  5. 计算机二级考试报名要上传照片吗,报考计算机等级考试(NCRE)对上传照片有何要求...

    报考计算机等级考试(NCRE)对上传照片有何要求 在报考全国计算机等级考试时,考生须按规定格式上传本人电子照片,上传照片后才能进行缴费确认.那么,报考计算机等级考试(NCRE)对上传照片有何要求?下面 ...

  6. 全国计算机应用水平考试照片,2017下半年计算机等级报名对上传照片有何要求...

    2017下半年计算机等级报名对上传照片有何要求 导语:全国计算机等级考试,是经教育部批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系.下面我们来看看 ...

  7. servle 3.0 新特性之一 对上传表单的支持

    1. 上传 * 上传对表单的要求: > method="post" > enctype="multipart/form-data",它的默认值是:a ...

  8. spring boot配置对上传文件的大小限制

    spring boot配置对上传文件的大小限制 spring-boot 2.0之前 Spring Boot1.4版本后配置更改为(默认单个文件最大1Mb,单次请求文件总数大小最大10Mb): spri ...

  9. layui表单加文件 php_layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例...

    本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作.分享给大家供大家参考,具体如下: layui框架是1.0.9版本.. 首先html页面代码如下: js代码如下: l ...

最新文章

  1. 用 Linux 的 watch 命令观察命令和任务
  2. cacti命令行添加监控详解
  3. php的$_FILES如何生成以及如何与上传文件对象产生联系
  4. 用html通过python调用mysql_HTTP协议与使用Python获取数据并写入MySQL
  5. 【备忘】bounce ease
  6. oracle idm_批准Oracle IDM中的特定Web服务
  7. LeetCode 388. 文件的最长绝对路径(不用栈,前缀和)
  8. 计算机初级包括php吗,计算机的基本组成包括什么
  9. 密码学替代技术_替代技术及其类型| 密码学
  10. /MD, /MDD, /ML, /MT,/MTD(使用运行时库) .
  11. Linux内核编译与安装[转]
  12. 简单的html网页超链接
  13. 三周爆赚千万 电竞选手在无聊猿游戏赢麻了
  14. Photoshop制作WiFi图标
  15. 易失性存储DRAM详解
  16. 如何快速高效学习技术
  17. Spring Boot开发基于三层架构设计:Dao层、Service层、Controller层
  18. 微信小程序反编译~2020年
  19. Palo/Doris介绍
  20. 华清远见fs4412开发板学习笔记(五)

热门文章

  1. 【前端圭臬】九:JavaScript 对象剖析
  2. 网络人Netman远程控制软件免费版教程
  3. 飞信php接口,飞信php接口 web service
  4. 文件列表中查找同一批次号中批次号最大的文件名称
  5. 制作Centos-6.9-x86_64-Everything.iso
  6. 龙芯派二代发布,简化国产软硬件开发难度
  7. 抖音小店:无货源店群玩法,2021年依旧能继续强势
  8. shell批量下载文件
  9. 【PyTorch】3.3 nn网络层-卷积层
  10. Unity实战项目 ☀️| 教你如何在Unity中通过 代码获取 URL链接网页 的 标题 等各种信息✨