Spring Boot 文件上传

本文介绍Spring Boot搭建的Web项目如何上传文件

配置

Spring Boot默认提供了文件上传相关的组件,相关配置类MultipartAutoConfiguration,配置属性类MultipartProperties

常用配置

属性名默认值说明
spring.servlet.multipart.location存储文件的临时目录,CentOS系统建议修改,原因见常见问题1
spring.servlet.multipart.max-file-size1MB文件最大长度限制
spring.servlet.multipart.max-request-size10MB请求最大长度限制

注:也可以通过配置类修改配置,配置方式略,当配置类和配置文件同时存在时,配置文件失效

使用

通过@RequestParam接收MultipartFile类型参数获得上传的文件,代码如下

public class DemoController{ 
	public void upload(@RequestParam MultipartFile file){
	}
}
常见问题
  1. Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location
    [/tmp/tomcat.xxx.xxx/work/Tomcat/localhost/ROOT] is not valid。

项目启动后,会在/tmp目录下创建文件夹存储临时文件,CentOS系统会定时清理指定目录文件,最终导致找不到目录而报错

解决方案:创建并通过spring.servlet.multipart.location指定其他目录

相关参考
https://blog.51cto.com/breaklinux/2149624?source=dra
http://blog.51cto.com/kusorz/2051877?utm_source=oschina-app

  1. Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location
    [/tmp/tomcat.xxx.xxx/work/Tomcat/localhost/ROOT] is not valid。

同问题1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值