You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring调用MultipartFile Post接口时为何自动保存文件?

解答

1. 本地环境的情况

  • 该现象正常。Spring Boot默认会将MultipartFile对应的上传文件写入临时文件,存储位置可能是项目目录或系统临时目录,这是Multipart上传的底层实现逻辑——需要先落地文件才能进行后续的读取、上传等操作。
  • 可以修改配置避免文件保存到项目目录:
    • 自定义临时文件存储路径,在application.properties或application.yml中添加配置:
      # 指定自定义临时目录
      spring.servlet.multipart.location=/your/custom/temp/path
      
    • 若上传的都是小文件,可配置直接用内存存储(避免生成磁盘文件):
      # 设置文件阈值为0,小于等于0的文件直接存在内存中
      spring.servlet.multipart.file-size-threshold=0
      
  • 无需手动删除临时文件,Spring Boot会在请求处理完成后自动清理这些临时文件。若使用自定义临时目录,只需确保目录有读写权限和足够空间即可。

2. Jar包部署到服务器后的情况

  • 服务器依然会生成临时文件,但默认存储在系统临时目录(比如Linux的/tmp,Windows的C:\Users\<用户名>\AppData\Local\Temp),不会存储在Jar包所在目录。
  • 请求处理完成后,Spring Boot会自动清理这些临时文件,无需手动干预。部分服务器的系统会定期清理临时目录的过期文件,这也不会影响业务,因为临时文件仅在请求处理周期内存在。

内容的提问来源于stack exchange,提问作者abidinberkay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:45:40