Создание файла веб-приложения Java EE - PullRequest
1 голос
/ 17 февраля 2011

Я разрабатываю веб-приложение на Java, чтобы контролировать свои запасы и делать некоторые другие вещи. Я загружаю файлы через компонент JSF. Это файлы изображений. В любом случае, мой вопрос - я хочу, чтобы эти изображения были сохранены в папке ресурсов веб-приложения. Более конкретно, в подпапке с именем «userUploads». Я создаю объект File, но как получить строку, представляющую этот путь?

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Если вы хотите, чтобы ваши файлы хранились в «папке ресурсов веб-приложения», я предполагаю, что вы имеете в виду папку с именем «resources» внутри «webroot».Хотя это не самый лучший подход, вы можете достичь этого, используя ServletContext:

ServletContext sc = httpRequest.getSession().getServletContext();

String path = sc.getPath("resources");

или

File file = new File(sc.getPath("resources"))

Лично,Я бы порекомендовал создать папку «uploads» вне каталога вашего веб-приложения, чтобы она не заменялась во время развертывания и т. Д.

"Я создаю объект File, но как получить строку, представляющую этот путь?? "

Если у вас есть объект File, вы можете вызвать myFile.getAbsolutePath(), чтобы получить строковое представление пути.

0 голосов
/ 17 февраля 2011

Выполните следующие действия:

  1. Получить HttpSession из HttpServletRequest.
  2. Получите ServletContext из HttpSession.
  3. Получите абсолютный путь к вашей установке, используя метод ServletContext.getRealPath(). Параметром этого метода является путь, относящийся к корневому контексту вашего контекста.

Вот ссылка: ServletContext

...