項目上線正常運行一段時間后,有一天突然所有的附件上傳都出現了錯誤,查找項目本身的日志系統也一致沒有跟蹤到錯誤。經過幾番折騰,在tomcat9-stdout.log日志中發現如下異常:
ERROR org.springframework.boot.web.servlet.support.ErrorPageFilter 190 forwardToErrorPage - Forwarding to error page from request [/upload/dbupload] due to exception [Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. E:\Tomcat9\work\Catalina\localhost\ROOT\upload_6aee88fc_f7bb_4c8d_b663_51fad2d80eee_00000000.tmp (文件或目錄損壞且無法讀取。)] org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. E:\Tomcat9\work\Catalina\localhost\ROOT\upload_6aee88fc_f7bb_4c8d_b663_51fad2d80eee_00000000.tmp (文件或目錄損壞且無法讀取。)
因此,可能是無法訪問tomcat工作目錄work所致。
因此將此work目錄重命名為_work,並重啟服務器后,重建工作目錄work,恢復正常。