Как скачать прикрепленный файл из JSP

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

Я хочу создать ссылку на странице JSP, и, нажав на эту ссылку, пользователь сможет загрузить файл с почтового сервера. Ссылка должна относиться к типу вложения для удаления контента. Как я могу сделать это в JSP?


person Stardust    schedule 28.04.2010    source источник


Ответы (3)


Не используйте для этого JSP, это рецепт проблем при использовании его для потоковой передачи двоичных файлов, потому что все пробелы за пределами тегов <% %> также будут напечатаны в ответе, что приведет только к повреждению двоичного содержимого. Все, что вам нужно сделать, это просто разместить HTML-ссылку, например <a href="fileservlet/file.ext">, в JSP и использовать класс сервлета для выполнения всей задачи обработки и потоковой передачи. Чтобы установить заголовок ответа, просто используйте _ 3_.

response.setHeader("Content-Disposition", "attachment;filename=name.ext");

Здесь вы можете найти базовый пример сервлета, который делает именно это: FileServlet.

person BalusC    schedule 28.04.2010

Я предлагаю вам немного разбить этот вопрос.

Вы знаете, как получить доступ к прикрепленным файлам из обычной Java-программы? Как взаимодействовать с почтовым сервером и т. Д.? Если вы это знаете, то предоставить вложение в загружаемом формате через jsp должно быть несложным упражнением. Хотя я настоятельно рекомендую вам сделать обычный сервлет, поскольку вы, вероятно, не будете много использовать дополнительные механизмы, связанные с jsp.

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

В jsp: <%@page contentType="image/png" %>

В сервелте: response.setContentType("image/png");

person aioobe    schedule 28.04.2010

person    schedule
comment
Почему бы тебе просто не использовать <img src="/Works/images/abt.jpg">? Ваш подход излишне усложнен. - person BalusC; 28.05.2012