Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как мне сохранять файлы в static без абсолютного пути? spring java

Светлана Art Ученик (203), на голосовании 1 месяц назад
Код:

 @PutMapping("save") 
public void updateFile(@RequestParam("file") MultipartFile multipartFile) {
if (multipartFile != null) {


String path = "/static/public"; //Работает только если прописать абсолютный путь(

String resultFileName =
path + "/" + UUID.randomUUID().toString()+ "." + multipartFile.getOriginalFilename();

try {
multipartFile.transferTo(new File(resultFileName));
} catch (IOException e) {
log.error(e.getLocalizedMessage());
}
}
}
Голосование за лучший ответ
Независимое мнение Мудрец (19313) 2 месяца назад
Директория static расположена в src/main/resources и при билде проекта упаковывается в .jar файл проекта, то есть в рантайме доступна только для чтения.

Если не хотите привязываться к абсолютному пути для хранения файлов, лучше возьмите за основу путь к проекту и создайте рядом необходимую директорию:
 String projectDir = System.getProperty("user.dir"); 
Светлана ArtУченик (203) 2 месяца назад
Спасибо бро
Похожие вопросы