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

SpringBoot上傳臨時(shí)文件被刪除引起報(bào)錯(cuò)的解決

 更新時(shí)間:2021年11月19日 10:13:28   作者:程序員小強(qiáng)  
這篇文章主要介紹了SpringBoot上傳臨時(shí)文件被刪除引起報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

上傳臨時(shí)文件被刪除引起報(bào)錯(cuò)的解決

1.前言

在項(xiàng)目中使用到了SpringBoot的上傳實(shí)現(xiàn)了一個(gè)excel導(dǎo)入功能,上線后穩(wěn)得一批,但突然有一天發(fā)現(xiàn),導(dǎo)入失敗報(bào)錯(cuò):

location [/tmp/tomcat.xxx.8551/work/Tomcat/localhost/ROOT] is not valid

詳見如圖

image.png

2.問題分析

在SpringBoot項(xiàng)目啟動(dòng)后,系統(tǒng)會(huì)在‘/tmp'目錄下自動(dòng)的創(chuàng)建以下幾個(gè)文件;

  • hsperfdata_root
  • tomcat.************.8080,(結(jié)尾為端口)
  • tomcat-docbase.*********.8080 ;

程序?qū)ι蟼魑募僮鲿r(shí),會(huì)生成臨時(shí)文件,暫存在臨時(shí)文件目錄中,經(jīng)查閱資料發(fā)現(xiàn)CentOS有自動(dòng)清理規(guī)則,系統(tǒng)會(huì)對/tmp下10天未使用的文件進(jìn)行清理,清理后再次使用文件上傳就會(huì)出現(xiàn)以上問題 ;

3.解決方案

3.1重啟項(xiàng)目

啟動(dòng)時(shí)會(huì)自動(dòng)新建臨時(shí)目錄的。但是以后依舊會(huì)有被系統(tǒng)自動(dòng)清除的可能(未徹底解決)。

3.2自定義臨時(shí)文件路徑

新增如下配置

server.tomcat.basedir=/home/dev/temp

注意事項(xiàng):

  • 需要重啟項(xiàng)目生效 ;
  • 若啟動(dòng)項(xiàng)目的用戶有權(quán)限在該目錄下創(chuàng)建文件夾,則會(huì)自動(dòng)創(chuàng)建 ;

3.2新增配置

配置類方式指定臨時(shí)文件路徑

@Configuration
public class MultipartConfig {
    /**
     * 文件上傳臨時(shí)路徑
     */
    @Bean
    MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        String location = System.getProperty("user.dir") + "/dev/temp";
        File tmpFile = new File(location);
        if (!tmpFile.exists()) {
            tmpFile.mkdirs();
        }
        factory.setLocation(location);
        return factory.createMultipartConfig();
    }
}

文件上傳提示臨時(shí)文件夾不存在

1.異常信息

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

2.原因

文件上傳臨時(shí)上傳文件夾失效了,可能是系統(tǒng)清除了臨時(shí)目錄。

3.解決方法

1.重啟服務(wù),不建議在生產(chǎn)環(huán)境使用。

2.增加服務(wù)配置,自定義baseDir。

server.tomcat.basedir=/tmp/tomcat

3.注入bean,手動(dòng)配置臨時(shí)目錄,建議有項(xiàng)目組統(tǒng)一配置,便于管理和錯(cuò)誤定位。

@Bean
  MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("/tmp/tomcat");
    return factory.createMultipartConfig();
  }

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

相關(guān)文章

  • Java抽象類的概念講解

    Java抽象類的概念講解

    今天小編就為大家分享一篇關(guān)于Java抽象類的概念講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 詳解Java變量與常量

    詳解Java變量與常量

    這篇文章主要介紹了Java變量與常量,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SpringCloud?Gateway實(shí)現(xiàn)請求解密和響應(yīng)加密的過程解析

    SpringCloud?Gateway實(shí)現(xiàn)請求解密和響應(yīng)加密的過程解析

    這篇文章主要介紹了SpringCloud?Gateway實(shí)現(xiàn)請求解密和響應(yīng)加密的相關(guān)知識(shí),本文環(huán)境使用比較新的?Java?17?和?SpringBoot?3.1.5,對應(yīng)到Spring的版本是?6.0.13,本文重心是網(wǎng)關(guān)項(xiàng)目,需要的朋友可以參考下
    2023-11-11
  • 如何使用Mockito調(diào)用靜態(tài)方法和void方法

    如何使用Mockito調(diào)用靜態(tài)方法和void方法

    這篇文章主要介紹了如何使用Mockito調(diào)用靜態(tài)方法和void方法的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Mybatis實(shí)現(xiàn)查詢相冊數(shù)據(jù)列表流程講解

    Mybatis實(shí)現(xiàn)查詢相冊數(shù)據(jù)列表流程講解

    這篇文章主要介紹了Mybatis實(shí)現(xiàn)查詢相冊數(shù)據(jù)列表流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • 解決Spring?Security集成knife4j訪問接口文檔出現(xiàn)403的問題

    解決Spring?Security集成knife4j訪問接口文檔出現(xiàn)403的問題

    這篇文章主要給大家介紹了如何解決Spring?Security集成knife4j訪問接口文檔出現(xiàn)403的問題,文中有詳細(xì)的解決方案,有需要的朋友可以參考閱讀下
    2023-07-07
  • Java httpClient連接池支持多線程高并發(fā)的實(shí)現(xiàn)

    Java httpClient連接池支持多線程高并發(fā)的實(shí)現(xiàn)

    本文主要介紹了Java httpClient連接池支持多線程高并發(fā)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Tomcat集群和Session復(fù)制應(yīng)用介紹

    Tomcat集群和Session復(fù)制應(yīng)用介紹

    本文將詳細(xì)介紹Tomcat集群和Session復(fù)制應(yīng)用,需要了解的朋友可以參考下
    2012-11-11
  • Java中LocalDateTime的具體用法

    Java中LocalDateTime的具體用法

    本文主要介紹了Java中LocalDateTime的具體用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 16 個(gè)有用的的Java工具類(小結(jié))

    16 個(gè)有用的的Java工具類(小結(jié))

    這篇文章主要介紹了16 個(gè)有用的的Java工具類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論