2016-05-24 4 views
0

Я загружаю файл в свое веб-приложение. Но как только приложение будет перераспределено, загруженные файлы также будут удалены. Я сохранил свои файлы в webapp/images. Но я читал, что «Файлы должны быть загружены за пределами местоположения веб-приложения». Где я должен загрузить файл? Например, на диске C или D?Где я должен хранить загруженные файлы в maven?

ответ

1

Оформить заказ Spring Uploading files руководство. Существует команда с именем CommandLineRunner, которая создает для вас каталог.

Вы также хотите, целевую папку для загрузки файлов на, так что есть лямбда Java 8 используется для создания загрузочного CommandLineRunner при запуске, который создает ту папку.

Сниппет является:

@Bean 
    CommandLineRunner init() { 
     return (String[] args) -> { 
      new File(ROOT).mkdir(); 
     }; 
    } 
+0

Я сохранил файлы: 'File newFile = new File (путь + имя_файла);' Как должен быть мой путь? –

0

Если вы хотите, чтобы сохраняться эти файлы, независимо от вашего веб-приложение, конечно вам нужно, чтобы сохранить его в папку по вашему выбору, но за пределами вашего приложения директории (на сервер или любой сетевой каталог). Вы можете использовать любой Writer для этого (обычно BufferedWriter).

У вас могут быть свойства, указывающие путь к директории, таким образом его легко изменить.

0

Вы должны загрузить свои загруженные данные за пределы вашего каталога приложений. Имейте в виду сделать резервные копии этих данных.

+0

Я загрузил в ** C: /apache-tomcat-8.0.18/uploads/images/**. Но тогда я не могу получить изображения в моем jsp, получить ошибку ** Не разрешено загружать локальный ресурс ** –

+0

Как вы их загружаете? – dunni

+0

'MultipartFile file = uploadedFile.getFile(); Строка fileName = file.getOriginalFilename(); Строка path = "C: /apache-tomcat-8.0.18/uploads/images/"; inputStream = file.getInputStream(); Файл newFile = новый файл (путь + имя_файла); newFile.createNewFile(); ' –

Смежные вопросы