日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

日常问题:上传接口报错

發布時間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日常问题:上传接口报错 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

日常問題:上傳接口報錯

項目啟動后,一段時間沒怎么用之后,系統所有上傳接口都失敗,報錯為接口異常。

這個問題通常不會出現的,因為正常情況下使用,不可能會有7天不進行文件上傳操作的。

因為財務上傳報表是每個工作日的啊 ╮(╯_╰)╭

結果碰到了國慶春節長假,還有今年疫情的超級長假。然后就炸了 ε=(′ο`*)))唉


問題

Springboot上傳文件錯誤:org.springframework.web.multipart.MultipartException .... org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.8514542127953693245.8091/work/Tomcat/localhost/ROOT] is not valid ....

原因

linux系統會定期(10天)清除tmp目錄下沒有使用過的文件,springBoot啟動的時候會在/tmp目錄下生成一個tomcat.****.port(tomcat.8514542127953693245.8091)的文件目錄,此目錄要是清除后,就是出現上傳文件錯誤!

具體清除腳本詳情:

從/var/log/cron 日志中發現,服務器除了調用用戶的計劃任務外,還會執行系統自己的.

進入 /etc/cron.daily , 可以看到一個tmpwatch

里面調用了/usr/sbin/tmpwatch 腳本 參數為240 =10*24 =10天

解決

第一種臨時方法,萬能的重啟。臨時文件會重新生成。

第二種方法,重啟,并且調整系統清理的時長,把上文原因中提到的腳本時間延長到100+天。【要是幾百天都不用的系統,也就不用維護啦 罒ω罒】

第三種方法,項目配置Bean,提供臨時文件目錄

@Beanpublic MultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory();//單個文件最大factory.setMaxFileSize("10240KB");/// 設置總上傳數據總大小factory.setMaxRequestSize("102400KB");// 這種寫法在linux下是沒問題的,但是開發windows上會找不到目錄// factory.setLocation("/var/tmp");// 由于默認/tmp 臨時目錄下 Linux 會清理7天無操作目錄,所以換個上傳目錄試試String location = System.getProperty("user.home") + "/data/tmp";File tmpFile = new File(location);if (!tmpFile.exists()) {tmpFile.mkdirs();}factory.setLocation(location);return factory.createMultipartConfig();}

參考文檔

就這個了,很詳細的:https://blog.csdn.net/liuxiaoming1109/article/details/93467180

這個是linux下文件自動刪除的文章:https://www.tuicool.com/articles/6Jj6rq


小杭 2020-02-19 (:з」∠)

總結

以上是生活随笔為你收集整理的日常问题:上传接口报错的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。