将本地项目打包成jar包放到云服务器运行后,需要上传文件到服务器时出现报错
tmp/tomcat.145202057.80/work/Tomcat/localhost/ROOT
原因
在Linux服务器上如果你的项目配置文件application.properties中没有配置server.tomcat.basedir属性值的话,自动在tmp文件夹创建临时目录来保存文件(一般十天后不修改会自动清理)。
解决方法
第一种:修改配置文件
打开application.properties文件,添加
server.tomcat.basedir=/tmp/tomcat8080
(自定义路径)
自定义路径后他会在/tmp/tomcat8080文件夹下创建work/Tomcat/**目录
修改后还是会在自定义路径下创建work/Tomcat/location目录,导致项目中不能使用上传的文件(因为路径不同)
第二种:添加一个@Bean(建议第二种)
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/www/server/tomcat/library/");
return factory.createMultipartConfig();
}
利用@Bean方法,修改服务器location文件,