java post 500_Post请求form-data格式时请求返回500的问题
問(wèn)題描述:測(cè)試反饋說(shuō)系統(tǒng)所有的接口,采用post請(qǐng)求,數(shù)據(jù)格式用form-data時(shí),所有的接口不能成功調(diào)用,但使用application/x-www-form-urlencoded或者application/json則沒(méi)有問(wèn)題。使用Postman測(cè)試,響應(yīng)如下:
{
"timestamp": 1532932938640,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.web.multipart.MultipartException",
"message": "Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.8933035133061590431.8060/work/Tomcat/localhost/ROOT] is not valid"
}
其實(shí)看到這個(gè),問(wèn)題就已經(jīng)很明顯了,就是/tmp/tomcat.8933035133061590431.8060/work/Tomcat/localhost/ROOT這個(gè)目錄找不到。然后手動(dòng)創(chuàng)建了這個(gè)目錄,就恢復(fù)正常了。
下面看看為什么會(huì)出現(xiàn)這個(gè)問(wèn)題
SpringBoot應(yīng)用服務(wù)在啟動(dòng)(java -jar?命令啟動(dòng)服務(wù))的時(shí)候,會(huì)在操作系統(tǒng)的/tmp目錄下生成一個(gè)tomcat*的文件目錄,上傳的文件先要轉(zhuǎn)換成臨時(shí)文件保存在這個(gè)文件夾下面。
既然是這樣,那我們解決的方法就有以下幾種了:
像上面一樣,手動(dòng)創(chuàng)建這個(gè)目錄
重啟應(yīng)用
配置文件中指定tomcat的臨時(shí)目錄,這樣就不怕系統(tǒng)自動(dòng)清理tmp了。配置如:server.tomcat.basedir: /data/tomcat/temp。
問(wèn)題到這里已經(jīng)算是解決了,下面是關(guān)于form-data的一篇文章
轉(zhuǎn)載至鏈接:https://my.oschina.net/u/2424727/blog/1919777
總結(jié)
以上是生活随笔為你收集整理的java post 500_Post请求form-data格式时请求返回500的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vue 封装dialog_element
- 下一篇: 为什么姚贝娜去世会引起这么大的反响?