当前位置: 首页 > article >正文

springboot控制上传文件大小

背景

日积月累的总结,需要注意的是这是springboot的配置,针对的是springboot本身接收文件的规则

完整配置

spring:  
  servlet:  
    multipart:  
      enabled: true  # 是否启用文件上传功能,默认为true  
      location: /path/to/store/files  # 上传文件的存储路径,可以是绝对路径或相对路径(相对于应用根目录)  
      file-size-threshold: 0B  # 当文件大小超过该阈值时,文件将被写入磁盘而不是内存,默认为0B(即全部写入内存)  
      max-file-size: 10MB  # 单个文件上传的最大大小,这里设置为10MB  
      max-request-size: 20MB  # 整个请求(包含所有文件和其他表单数据)的最大大小,这里设置为20MB  
      resolve-lazily: false  # 是否在文件上传时延迟解析文件,默认为false(即立即解析)

需要注意以下几点:

  • enabled:这个选项通常不需要显式设置,因为Spring Boot默认会启用文件上传功能。但如果你需要禁用它,可以将此选项设置为false。
  • location:指定了上传文件的存储路径。你可以使用绝对路径(如/tmp/uploads)或相对路径(如uploads,相对于应用根目录)。确保该路径对应用程序具有写权限。
  • file-size-threshold:这个选项设置了文件大小阈值,当文件大小超过此阈值时,文件将被写入磁盘而不是保存在内存中。这对于处理大文件非常有用,因为它可以防止应用程序因内存不足而崩溃。默认为0B,表示所有文件都将写入内存。
  • max-file-size 和 max-request-size:这两个选项分别设置了单个文件上传的最大大小和整个请求的最大大小。这些限制有助于保护应用程序免受恶意或意外的文件上传攻击。
  • resolve-lazily:这个选项决定了是否在文件上传时延迟解析文件。如果设置为true,则文件将在需要时(例如,在访问文件内容时)才被解析。这可以减少内存占用,但可能会增加文件访问的延迟。默认为false。

实际配置

实际上我们一般都只这样配置就好了

spring:  
  servlet:  
    multipart:   
      max-file-size: 10MB  # 单个文件上传的最大大小,这里设置为10MB  
      max-request-size: 20MB  # 整个请求(包含所有文件和其他表单数据)的最大大小,这里设置为20MB  

http://www.kler.cn/news/342035.html

相关文章:

  • C++面试速通宝典——7
  • 软件设计之SSM(11)
  • QT-多线程、线程池的使用
  • 详解三种常用标准化:Batch Norm Layer Norm RMSNorm
  • 初始项目托管到gitee教程,开箱即用
  • Spring国际化教材
  • k8s的安装和部署
  • Git基本操作与分支
  • 【笔记学习篇】一篇文章搞定Mybatis-快速回顾
  • Python的输入输出函数
  • CAN和CANFD如何转换和通信
  • Github优质项目推荐-第四期
  • tableau除了图表好看,在业务中真有用吗?
  • 拓扑排序与入度为0的结点算法解析及实现
  • 机器学习:关联规则:Apriori算法、FP - Growth算法的原理、应用场景及优缺点介绍
  • 计组复习笔记
  • 博士找高校教职避坑指南:史上最全的避坑秘籍
  • vue中用echarts做一个躺着的柱状图
  • ubutun安装ffmpeg
  • LeetCode 3309. 连接二进制表示可形成的最大数值