自学内容网 自学内容网

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  

原文地址:https://blog.csdn.net/GDFHGFHGFH/article/details/142779096

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!