1. 程式人生 > >Spring Boot學習記錄(四)--問題記錄

Spring Boot學習記錄(四)--問題記錄

記錄spring boot出現的一些奇奇怪怪的問題解決方案.

1.檔案上傳,臨時資料夾無效問題

異常資訊:

Caused by: java.io.IOException: The temporary upload location [/tmp/tomcat.7986646121236549874.8090/work/Tomcat/localhost/ROOT] is not valid
    at org.apache.catalina.connector.Request.parseParts(Request.java:2767) ~[tomcat-embed-core-8.5.4.jar!/:8.5
.4] at org.apache.catalina.connector.Request.parseParameters(Request.java:3167) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.connector.Request.getParameter(Request.java:1109) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java
:381) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:70) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3
.2.RELEASE.jar!/:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.4.jar!/:8.5.4] ... 12 common frames omitted

解決方案:

注入一個Bean,手動配置臨時目錄

/**
 * 檔案上傳臨時路徑
 */
 @Bean
 MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("/app/pttms/tmp");
    return factory.createMultipartConfig();
}