欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決springboot文件上傳提示臨時文件夾不存在問題

 更新時間:2024年05月07日 17:16:52   作者:Mr-Wanter  
這篇文章主要介紹了解決springboot文件上傳提示臨時文件夾不存在問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

項目場景

附件上傳報錯:

java.io.IOException: The temporary upload location 
[C:\Users\Administrator\AppData\Local\Temp\tomcat.1668302398522753093.8383\work\Tomcat\loca
lhost\ROOT] is not valid

問題描述

客戶現(xiàn)場服務(wù)器長時間無人操作,更新系統(tǒng)后測試發(fā)現(xiàn)附件無法上傳成功。

原因分析

springBoot上傳的文件,會先緩存到本地磁盤;

為什么要緩存文件?

因為流取一次消費之后,后面無法再從流中獲取數(shù)據(jù),所以緩存方便后續(xù)復(fù)用;

而緩存的路徑就是上面的路徑:/tmp/tomcat.1668302398522753093.8383

內(nèi)置的tomcat需要創(chuàng)建臨時目錄來存放上傳的文件,當(dāng)POST請求的content-type是multipart/form-data的時候就會訪問這個目錄,而這個目錄在Linux系統(tǒng)中默認(rèn)建在/tmp目錄下,10天期間,如果沒有上傳文件的需求,那這個路徑就會被linux清除,引發(fā)異常。

解決方案

  • 方法一:既然目錄被刪除了,重啟一下服務(wù),讓系統(tǒng)重新生成該目錄,臨時解決(但是以后目錄還可能被刪除)
  • 方法二:既然是Linux刪除的臨時路徑,可以配置一下不刪除tmp目錄下的tomcat
vim /usr/lib/tmpfiles.d/tmp.conf
# 添加下面一行
x /tmp/tomcat.*
  • 方法三:啟動springBoot程序,添加使用指定臨時目錄的啟動參數(shù)
-java.tmp.dir=/usr/tomcat/tmpfile
  • 方法四:在配置文件中,自定義一個目錄,不用臨時目錄緩存上傳的文件:
server.tomcat.basedir=/data/tmpfile 
或 
spring.http.multipart.location=/data/tmpfile
  • 方法五:在對應(yīng)服務(wù)器上創(chuàng)建該目錄
  • 方法六:注入bean,手動配置臨時目錄,建議有項目組統(tǒng)一配置,便于管理和錯誤定位。
@Bean
  MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("/data/tmpfile");
    return factory.createMultipartConfig();
  }

擴展

如果微服務(wù)應(yīng)用了網(wǎng)關(guān),那么請求會首先經(jīng)過網(wǎng)關(guān),在網(wǎng)關(guān)的服務(wù)器上找這個地址

那么上面的解決方法都需要在網(wǎng)關(guān)的服務(wù)或服務(wù)器上實施

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java項目導(dǎo)入IDEA的流程配置以及常見問題解決方法

    Java項目導(dǎo)入IDEA的流程配置以及常見問題解決方法

    通常一個團隊中可能有人用eclipse,有人用intelliJ,那么經(jīng)常會出現(xiàn)需要導(dǎo)入別人用eclipse建好的web項目,下面這篇文章主要給大家介紹了關(guān)于Java項目導(dǎo)入IDEA的流程配置以及常見問題解決方法的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Open-Feign整合hystrix降級熔斷實戰(zhàn)記錄

    Open-Feign整合hystrix降級熔斷實戰(zhàn)記錄

    這篇文章主要介紹了Open-Feign整合hystrix降級熔斷實戰(zhàn)記錄,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)

    徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)

    這篇文章主要介紹了徹底解決IDEA中SpringBoot熱部署無效的問題,本文給大家?guī)韱栴}原因分析通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • Mysql中的聚簇索引cluster index解析

    Mysql中的聚簇索引cluster index解析

    這篇文章主要介紹了Mysql中的聚簇索引cluster index解析,聚簇索引是一種數(shù)據(jù)庫索引的類型,它將數(shù)據(jù)行物理上存儲在磁盤上按照索引的順序進行排序,聚簇索引可以提高查詢性能,因為它可以減少磁盤I/O操作,需要的朋友可以參考下
    2023-10-10
  • Spring項目如何實現(xiàn)帶請求鏈路id的日志記錄

    Spring項目如何實現(xiàn)帶請求鏈路id的日志記錄

    我們在做項目的時候通常需要通過請求日志來排查定位線上問題,如果日志比較多而我們又需要查找整個請求的全部日志的時候會比較困難,下面我們就來看看如何用java aop實現(xiàn)請求id的日志記錄吧
    2024-12-12
  • SpringCloud Ribbon 負載均衡的實現(xiàn)

    SpringCloud Ribbon 負載均衡的實現(xiàn)

    Ribbon是一個客戶端負載均衡器,它提供了對HTTP和TCP客戶端的行為的大量控制。這篇文章主要介紹了SpringCloud Ribbon 負載均衡的實現(xiàn),感興趣的小伙伴們可以參考一下
    2019-01-01
  • HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細解析

    HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細解析

    這篇文章主要介紹了HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細解析,HashMap作為開發(fā)中常用的數(shù)據(jù)結(jié)構(gòu),也是面試中經(jīng)常被問的知識點,因此作為開發(fā)者應(yīng)該盡可能多的理解其底層的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2023-11-11
  • 淺析java并發(fā)中的Synchronized關(guān)鍵詞

    淺析java并發(fā)中的Synchronized關(guān)鍵詞

    這篇文章主要介紹了java并發(fā)中的Synchronized關(guān)鍵詞,本文通過思路代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • java實現(xiàn)基于SMTP發(fā)送郵件的方法

    java實現(xiàn)基于SMTP發(fā)送郵件的方法

    這篇文章主要介紹了java實現(xiàn)基于SMTP發(fā)送郵件的方法,實例分析了java基于SMTP服務(wù)發(fā)送郵件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項目的操作過程

    Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項目的操作過程

    這篇文章主要介紹了Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項目,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03

最新評論