Ошибка асинхронной загрузки файла/изображения после первых запросов в Java Sprint Boot ⇐ JAVA
-
Anonymous
Ошибка асинхронной загрузки файла/изображения после первых запросов в Java Sprint Boot
Это моя первая публикация на StackOverflow, поэтому я надеюсь, что делаю это правильно. Заранее спасибо!
Я реорганизую функцию загрузки файлов в функцию загрузки файлов Async. Я могу создать трейлер-предложение, а затем с помощью другого запроса POST загрузить в него изображения. Если я перезапущу приложение, в 100% случаев все будет успешно загружено. После любого типа запроса загрузка изображения не удалась, иногда пара проходит успешно.
Основная проблема заключается в том, что загруженные файлы пусты / размер файла !file.isEmpty() && file.getSize() > 0) .toArray(MultipartFile[]::new); если (combinedImages.length == 0) { System.out.println("combinedImages имеет значение null"); вернуть ResponseEntity.badRequest().build(); } for (файл MultipartFile: комбинированные изображения) { if(file.isEmpty() || file.getSize() { если (например!= ноль) { System.out.println("Исключение в CompletableFuture: " +ex); } еще { Изображение обложки = result.getCoverImage(); List addImages = result.getAddedImages(); прицеп.setCoverImage(coverImage); TrailerOfferService.saveTrailerOffer(трейлер); } вернуть результат; }); вернуть ResponseEntity.accepted().build(); } @Getter @Сеттер @NoArgsConstructor @AllArgsConstructor общественный класс SaveImagesDTO { частный MultipartFile [] CoverImage; частные изображения MultipartFile[]; } @Async public CompletableFuture uploadImagesAsync(файлы MultipartFile[], строковый каталог, трейлер TrailerOffer) { пытаться { if (files == null || files.length == 0) { System.out.println("Для идентификатора трейлера не получено файлов: " + Trailer.getId()); return CompletableFuture.failedFuture(new IllegalArgumentException("Файлы не получены")); } for(MultipartFile файл: файлы){ if(file.isEmpty() || file.getSize()
Это моя первая публикация на StackOverflow, поэтому я надеюсь, что делаю это правильно. Заранее спасибо!
Я реорганизую функцию загрузки файлов в функцию загрузки файлов Async. Я могу создать трейлер-предложение, а затем с помощью другого запроса POST загрузить в него изображения. Если я перезапущу приложение, в 100% случаев все будет успешно загружено. После любого типа запроса загрузка изображения не удалась, иногда пара проходит успешно.
Основная проблема заключается в том, что загруженные файлы пусты / размер файла !file.isEmpty() && file.getSize() > 0) .toArray(MultipartFile[]::new); если (combinedImages.length == 0) { System.out.println("combinedImages имеет значение null"); вернуть ResponseEntity.badRequest().build(); } for (файл MultipartFile: комбинированные изображения) { if(file.isEmpty() || file.getSize() { если (например!= ноль) { System.out.println("Исключение в CompletableFuture: " +ex); } еще { Изображение обложки = result.getCoverImage(); List addImages = result.getAddedImages(); прицеп.setCoverImage(coverImage); TrailerOfferService.saveTrailerOffer(трейлер); } вернуть результат; }); вернуть ResponseEntity.accepted().build(); } @Getter @Сеттер @NoArgsConstructor @AllArgsConstructor общественный класс SaveImagesDTO { частный MultipartFile [] CoverImage; частные изображения MultipartFile[]; } @Async public CompletableFuture uploadImagesAsync(файлы MultipartFile[], строковый каталог, трейлер TrailerOffer) { пытаться { if (files == null || files.length == 0) { System.out.println("Для идентификатора трейлера не получено файлов: " + Trailer.getId()); return CompletableFuture.failedFuture(new IllegalArgumentException("Файлы не получены")); } for(MultipartFile файл: файлы){ if(file.isEmpty() || file.getSize()
Мобильная версия