Я недавно унаследовал Java API и у меня проблемы с загрузкой файлов. К сожалению, Java не является языком, на котором у меня большой опыт, поэтому я немного озадачен этим.
Получается MultiPartFile
в порядке, и я могу найти файл в каталоге temp , но когда я пытаюсь использовать File.transferTo () для создания окончательного файла, я просто получаю следующую ошибку:
java .nio.file.NoSuchFileException: C: \ Users \ myUser \ AppData \ Local \ Temp \ undertow3706399294849267898upload -> S: \ Dev \ PolicyData \ Temp.xlsx
Как я уже упоминал, файл временного отката существует, и каталог на диске S также существует, ( но там нет Temp.xlsx, так как я понимаю, это должно быть создано transferTo()
). Любые решения этой проблемы, которые я нашел до сих пор, решаются с использованием абсолютных путей к файлам.
Это упрощенная версия кода, но ошибка остается той же.
SpringBoot framework равен "1.5 .3.RELEASE ", работает Java 1.8.0_131
ResponseEntity handleFileUpload(@RequestPart(name = "file") MultipartFile file, @PathVariable Long stageFileTypeId) {
if (!file.isEmpty()) {
try {
String filePath = "S:\\Dev\\PolicyData\\Temp.xlsx";
log.info("Upload Path = {}", filePath);
File dest = new File(filePath);
file.transferTo(dest);
return ResponseUtil.wrapOrNotFound(Optional.ofNullable(filePath));
}
catch (Exception ex) {
log.error("An error has occurred uploading the file", ex);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
else {
log.error("An error has occurred, no file was received");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Спасибо, Нил