Загрузка изображения в приложение Spring

#image #spring #itext

#изображение #spring #itext

Вопрос:

У меня есть такое решение в моем приложении Spring:

http://www.java2s.com/Code/Java/PDF-RTF/AddingPNGimagetoPdfdocument.htm

В любом случае, моя проблема в том, что мое изображение находится в другой папке, например WEB-INF/layout/picture.gif . Я не заставляю это работать. Возможно, есть какие-либо ограничения?

Комментарии:

1. Изображение imageRight = Image.getInstance(«путь»); не работает

Ответ №1:

Переместите ваше изображение в classpath в качестве ресурса, чтобы затем вы могли легко загрузить его в iText. Для этого вам следует скопировать файл изображения в каталог, в котором находятся классы, чтобы изображение было упаковано в JAR или, альтернативно, в каталог /WEB-INF / classes, если это веб-приложение JAva (war).

Заводской метод com.lowagie.itext.Image принимает java.net.URL в качестве аргумента, поэтому вы делаете это:

 URL imageUrl = getClass().getResource("/your/image/package/image.png");
Image image = Image.getInstance(imageUrl);
  

Комментарии:

1. Обязательно ли оно должно быть в файле jar, чтобы быть ресурсом?

2. Как вы упаковываете свое приложение? Это jar или war или что-то еще?

Ответ №2:

Этот ответ предполагает, что вы пытаетесь получить доступ к изображениям напрямую из веб-браузера.


Изображения, к которым браузер может получить прямой доступ, должны располагаться за пределами каталога WEB-INF.

Например, в проекте maven

 -project/main/src
  -webapp
    -images  <- in the same parent directory like META-INF and WEB-INF
    -META-INF
    -WEB-INF
  

Комментарии:

1. Как насчет не Maven? Как мне отформатировать путь? например, / layout? Я использую Windows

2. MJgirl: В любом случае, это то же самое для not Maven: поместите изображения (лучше папку images) в тот же director, где расположены подпапки META-INF и WEB-INF. (Maven имеет отношение только к структуре выше (project / main / src / webapp))