Rumah >Java >javaTutorial >Bagaimana untuk mengkonfigurasi direktori storan fail sementara dalam springboot
Senario:
Fungsi fail muat naik melaporkan ralat, dan kemudian semak log.
Log ralat:
Punca: Dalam sistem Linux, apabila perkhidmatan aplikasi springboot dimulakan semula (arahan java -jar memulakan perkhidmatan), fail tomcat* akan dijana dalam direktori /tmp bagi sistem pengendalian, fail yang dimuat naik mesti terlebih dahulu ditukar kepada fail sementara dan disimpan di bawah folder ini. Oleh kerana fail dalam direktori /tmp sementara tidak digunakan untuk masa yang lama (10 hari), ia akan dipadamkan secara automatik oleh mekanisme sistem. Oleh itu, jika sistem tidak menggunakan folder sementara untuk masa yang lama, ia boleh menyebabkan masalah di atas. Penyelesaian: 1 Cipta folder sementara:Lokasi muat naik sementara [/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT] tidak sah
mkdir -p /tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOTIni mungkin berlaku lagi kemudian 2 kemudian mulakan semula projek
# 存放Tomcat的日志、Dump等文件的临时文件夹,默认为系统的tmp文件夹 server.tomcat.basedir=/data/apps/temp3. Konfigurasi kelas konfigurasi direktori storan fail sementara
@Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setLocation(tmepPath); return factory.createMultipartConfig(); }Springboot mengubah suai lokasi penyimpanan fail sementaraPelaporan ralat Selepas projek telah berjalan dalam talian untuk satu tempoh masa, pengecualian berikut dilemparkan apabila memuat naik fail:
Lokasi muat naik sementara [/tmp/tomcat.*.80/work/Tomcat/localhost/ ROOT] tidak sahSelepas mencari, penyelesaian berikut telah diterima pakai [Ubah suai lokasi fail sementara] Tambah
location: tempDir: /opt/location/tempDir #此处为*unix的系统相关位置pada application.yml fail dan tambah kelas konfigurasi pada projek
@Configuration public class MultipartConfig { @Value("${location.tempDir:/opt/tempDir}") private String tempDir; @Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); File tmpDirFile = new File(tempDir); // 判断文件夹是否存在 if (!tmpDirFile.exists()) { tmpDirFile.mkdirs(); } factory.setLocation(tempDir); return factory.createMultipartConfig(); } }
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi direktori storan fail sementara dalam springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!