Как я могу записать файл в папку tomcat?

Я развернул свое приложение в Apache Tomcat.

У меня есть папка (активы) для сохранения файлов. Итак, хочу написать файл внутри веб-приложения / ресурсы

Я попробовал следующий код для этого

    private String uploadedFiles(MultipartFile files) throws IOException {
    String filePath = "../assets/users/image/" + files.getOriginalFilename();

    File file = new File(filePath);
    byte[] bytes = file.getBytes();

    FileOutputStream out = new FileOutputStream(file);
    out.write(bytes);
    out.close();

Но я получаю java.io.FileNotFoundException: ../assets/myfile.jpg (система не может найти указанный путь)

Как сохранить этот файл?

Примечание: мне нужна такая структура папок. Поскольку я сохраню "../assets/myfile.png" в базе данных для доступа из клиентского приложения, развернутого на том же сервере.

ваше приложение основано на фреймворке или является чистой java?

Leviand 23.07.2018 11:22
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
2 247
2

Ответы 2

Может я ошибаюсь, но вы должны отдавать байты из файлов Multipart! И такой вид

../assets/users/image/

неправильно. Думаю, стоит начать с корневой папки или использовать Paths.get() nio.

Вы можете получить домашний путь кота с помощью

System.getProperty( "catalina.base" );

Затем вы можете добавить к этому свой путь, в вашем случае /webapps/assets

Надеюсь это поможет :)

Другие вопросы по теме