Failed to parse multipart servlet request问题解决

生产中碰到

org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.7017325300825944656.9400/work/Tomcat/localhost/shop-api] is not valid

的问题。并且按照解决方案一中的方法三解决。过了一段时间再次出现问题

org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/home/temp] is not valid
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:123)
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:114)
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.<init>(StandardMultipartHttpServletRequest.java:87)
	at org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:87)

怀疑是没有/home/temp目录的问题,手动创建了临时文件/home/temp解决问题。但是服务器上手动创建文件如果服务迁移很容易遗忘这些特殊的目录,可能会造成麻烦。因此最好不要手动创建目录。

又找到解决方案二设置了配置文件

spring:
  servlet:
    multipart:
      # 临时文件夹放在日志目录里
      location: /data/upload_tmp

结果提示

The temporary upload location [/data/upload_tmp] is not valid

还是没有这个目录,因此这个配置文件并不会主动创建目录。

解决方案:
1、配置地址为服务器肯定会存在的路径
2、程序中配置路径前首先检查有没有此路径

疑惑:
第一次解决时并没有显式创建/home/temp,并没有出问题;程序正常过了一段时间这个路径突然没有了,很奇怪。
第二次配置路径后没有显示创建文件夹报错跟第一次不一致

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值