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/ROOT
# 存放Tomcat的日志、Dump等文件的临时文件夹,默认为系统的tmp文件夹 server.tomcat.basedir=/data/apps/temp
@Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setLocation(tmepPath); return factory.createMultipartConfig(); }
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的系统相关位置
@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!