问题描述
我有一个使用 Java Spring Boot 2.4.2 创建的 RESTful API。
我最近遇到的主要问题之一是,分段文件上传工作正常,但几天后相同的代码将无法工作。重新启动 RESTFul JAR 应用程序后,它将恢复工作。
try {
FileUploadUtil.saveFile(uploadpath,file.getoriginalFilename(),file);
} catch (IOException e) {
throw new RuntimeException("Could not store the file. Error: " + e.getMessage());
}
还有 FileUploadUtil 类:
public class FileUploadUtil {
public static void saveFile(String uploadDir,String fileName,multipartfile multipartfile) throws IOException {
Path uploadpath = Paths.get(uploadDir);
if (!Files.exists(uploadpath)) {
Files.createDirectories(uploadpath);
}
try (InputStream inputStream = multipartfile.getInputStream()) {
Path filePath = uploadpath.resolve(fileName);
Files.copy(inputStream,filePath,StandardcopyOption.REPLACE_EXISTING);
} catch (IOException ioe) {
throw new IOException("Could not save uploaded file: " + fileName,ioe);
}
}
public static File fileFor(String uploadDir,String id) {
return new File(uploadDir,id);
}}
@PostMapping(value = "/clients/details/{clientDetailsId}/files/{department}",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@PreAuthorize("hasAuthority('PERSONNEL') or hasAuthority('CUSTODIAN') or hasAuthority('ADMIN')")
public ResponseEntity<ClientDetails> createClientDetailsFiles(@PathVariable("clientDetailsId") long clientDetailsId,@PathVariable("department") String department,@RequestPart(value = "FORM_SEC_58",required = false) multipartfile[] FORM_SEC_58_file,@RequestPart(value = "FORM_SEC_78",required = false) multipartfile[] FORM_SEC_78_file,@RequestPart(value = "FORM_SEC_105",required = false) multipartfile[] FORM_SEC_105_file,@RequestPart(value = "FORM_SEC_51",required = false) multipartfile[] FORM_SEC_51_file,@RequestPart(value = "FORM_SEC_76",required = false) multipartfile[] FORM_SEC_76_file)
以及 application.properties 方面:
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=90MB
spring.servlet.multipart.max-request-size=90MB
谁能告诉你这是什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)