использовать объект URL для чтения ресурса в веб-контенте - PullRequest
1 голос
/ 17 сентября 2011

Я работаю в веб-приложении, использующем JSF2, и в одной из моих форм я создаю файл PDF, который содержит изображение и определенный шрифт. Материалы находятся в каталоге WebContent. Моя проблема в том, что когда я хочу создать PDF-файл, я хочу прочитать ресурсы и передать его в параметрах методу, создающему PDF-файл. Я не знаю, как использовать объект URL или любой другой способ выполнить задачу.

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 сентября 2011

Ресурсы находятся в каталоге WebContent.

Каталог WebContent предназначен только для среды разработки в рамках Eclipse. При развертывании файлы попадают в корень веб-приложения. Я так понимаю, вы хотите получить доступ к файлам в корне вашего веб-приложения.

Вы можете использовать ServletContext.getResource(String path) с путем в качестве "/ myFileName", где / обозначает корень контекста веб-приложения.

Чтобы получить ссылку на ServletContext, вы можете попробовать this

0 голосов
/ 17 сентября 2011

Класс URL имеет метод openStream(), который дает вам InputStream содержимого ресурса:

URL resource = externalContext.getResource("/image.png");
InputStream input = resource.openStream();
// ...

Вы также можете сразу получить ресурс в виде потока , не получив сначала URL:

InputStream input = externalContext.getResourceAsStream("/image.png");
// ...

Имея InputStream, вы можете просто прочитать его в любой целиобъект, который ваш создатель PDF ожидает в качестве входных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...