Я установил сервер приложений с помощью Springboot, который позволяет загружать несколько файлов.Я настроил application.properties, используя следующее:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=20MB
При выполнении запроса с помощью почтальона я загружаю 3 файла под ключом «files»
File-1 is 11MB
File-2 is 1MB
File-3 is 1MB
Запрос не выполняется со следующей ошибкой:
"message": "Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field files exceeds its maximum permitted size of 10485760 bytes."
Я понимаю, что это из-за ограничения размера сервера.Но есть ли способ обработать исключение таким образом, что из загрузки исключается только 1 файл, а остальные разрешены.
Попытка с обработчиком исключения извлечь запрос.Но этот обработчик применяется к общему запросу, в результате чего все файлы пропускаются.
@PostMapping("/file-upload-service/file-uploader")
public List<UploadFileResponse> uploadMultipleFiles(@RequestParam String destination, @RequestParam("files") MultipartFile[] files) throws FileStorageException {
logger.info("Uploading multiple files...");
Date uploadDate = new Date();
logger.info("Upload operation started at {}", uploadDate);
return Arrays.asList(files)
.stream()
.map(file -> uploadFile(destination, file))
.collect(Collectors.toList());
}
}