springboot上传文件时500错误,提示临时目录无效

 java.io.IOException: The temporary upload location [C:\Users\hexuhong\AppData\Local\Temp\tomcat.1541434565861045247.2002\work\Tomcat\localhost\ROOT] is not valid

老规矩,先说解决办法,拿来主义者或者急需解决问题者可以先解决问题。如果要知道详细原因,请收藏,加关注,不迷路。好了,不扯了。

解决方案:

    step0:   在gateway这个模块中配置文件上传的绝对路径。在application.properties文件中增加一行配置。

spring.http.multipart.location=/tmp/uploadcache

   step1 :  在服务器上创建此目录(/tmp/uploadcache)。

重启后,问题应该就解决了。

     

   亲测通过该办法文件上传的路径还是相对路径在临时目录之下,所以启用办法二

@Configuration
public class MultipartConfig {

    @Value("${file.temp.path}")
    private String tempPath;

    /**
     * 修改文件上传临时路径
     */
    @Bean
    MultipartConfigElement multipartConfigElement() {
        String path = tempPath + "multipartFile";
        File file = new File(path);
        if (!file.exists()) {
            file.mkdirs();
        }

        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setLocation(file.getAbsolutePath());
        return factory.createMultipartConfig();
    }
}

  测试结果Windows系统下可行,但是liunx系统下还未进行测试....

猜你喜欢

转载自www.cnblogs.com/tanyucong/p/10369142.html