Вопрос:

Не удается получить доступ к файлам PDF в папке ресурсов

spring pdf java-ee model-view-controller web

101 просмотра

2 ответа

1 Репутация автора

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

ClassLoader classloader = Thread.currentThread().getContextLoader();
File f = new File(classloader.getResource("pdf/report.pdf").getFile);

Затем я отображаю файл в ответе, это прекрасно работает, когда я запускаю его в Eclipse.

Но как только я упаковал его в файл war и развернул его с помощью apache tomcat manager, я больше не могу получить доступ к файлу, он показывает 500 ОШИБКА, что указанный файл доступа недоступен.

Автор: Boujagour Источник Размещён: 13.04.2017 03:32

Ответы (2)


-1 плюса

2572 Репутация автора

откройте свой военный файл и проверьте вручную в папке «/ WEB-INF / classes /» ваш файл существует в этой папке или нет.

Автор: Anshul Sharma Размещён: 13.04.2017 05:00

0 плюса

880 Репутация автора

Если я правильно понимаю ваш вопрос, то вам нужно получить поток для ресурса и предоставить ответ от этого ресурса, а не из файла. Classloader имеет функцию getResourceAsStream, которая должна работать с тем же параметром, который вы передаете getResource

ClassLoader classloader = Thread.currentThread().getContextLoader();
InputStream stream = classloader.getResourceAsStream("pdf/report.pdf")
// Copy resource stream to servlet response e.g. using Apache IOUTils
IOUtils.copy(stream, <servelet response stream>)
// Don't forget to close stream

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

Автор: user871199 Размещён: 13.04.2017 10:42
Вопросы из категории :
32x32