2010-05-17 2 views

ответ

0

Используйте Class#getResource(), чтобы получить URL-адрес, где находится класс.

URL beanClassPath = Bean.class.getResource(""); 
File imageFile = new File(beanClassPath.getPath(), imageFileName); 
// ... 

Однако, это, как правило, очень плохая идея. Если вы переустановите webapp, все потеряется. Скорее сохраните изображения в фиксированном пути где-то вне веб-приложения, например. /images или около того. В среде Windows это будет автоматически ссылаться на диск, с которого запускается веб-приложение, например. c:/images.

File imageFile = new File("/images", imageFileName); 
// ... 

Вы можете также рассмотреть хранить их в базе данных, вам необходимо хранить только некоторые метаданные по нему, например, исходное имя файла, тип контента и предпочтительно также длины содержимого и в конечном итоге создание и последние временные метки изменения. Такая информация, которую вы обычно получаете, используя методы java.io.File. Вы будете нуждаться в них, когда захотите вернуть изображение на веб-страницу.

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