Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача pdf файла из сервлета клиенту, Помогите!!!! 
:(
    Опции темы
FatherFrost
Дата 13.1.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Такая ситуация. У меня есть сервлет, который передеает сформированный пдф-файл клиенту. Internat Explorer (IE) v.6 по ссылке переходит и начинает получать файл, но в итоге он его не открывает и не сохраняет. ОС винды 2003 и AcrobaReader v.6.
Добавлено @ 14:27
Файл пердаю под именем сервлета fdown так:
Код

contentType = "application/pdf";
String content = output;
response.setBufferSize(output.length);
response.setContentType(contentType);
out.print(content);
response.flushBuffer();

Если тип контента меняю на application/xyz, то он подгружает файл как неизвестный и сохраняет без расширения. Если же я меняю маппинг сервлета и обращаюсь к нему как к fdown.pdf, то повторяется такаяже ситуация. В чем может быть дело. Поставил AcrobatReader 4.5 и 5 и все стало ок, но хочется и под 6.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
onsh76
Дата 15.1.2006, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 20.11.2005
Где: Beautiful BC

Репутация: 4
Всего: 5



Поместите URL того ресурса, который генерит pdf байтстрим, внутрь embed тага.
Пример:
Код

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Rep Details</title>
</head>
<body leftMargin="0" topMargin="0" scroll="no">
  <embed src="generateReport.pdf?repMode=<%= request.getParameter("repMode")%>&repId=<%= request.getParameter("repId")%>&type=.pdf" width="100%" height="100%" type="application/pdf" fullscreen="yes">
</body>
</html>


где generateReport.pdf, URL сервлета, который генерит pdf стрим и инжектит его в ServletOutputStream.
Эта беда с IE/Аdobe Reader 6.0 only.
PM MAIL   Вверх
FatherFrost
Дата 16.1.2006, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



onsh76
Спасибо под IE помогло теперь буду делать чтоб работало везде.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
FatherFrost
Дата 16.1.2006, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Теперь возникла проблема с Mozilla FireFox. Как их разруливать грамотно?


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
batigoal
Дата 16.1.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



В принципе, инфу о браузере ожно извлечь из запроса. Заголовок user-agent, если не ошибаюсь.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
FatherFrost
Дата 17.1.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Спасибо за помощь. Разрулил все с использованием JavaScript.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
NetLord
Дата 25.1.2006, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 25.2.2005

Репутация: нет
Всего: нет



Можно решить все гораздо проще добавив заголовок в ответ
Код

response.addHeader("Content-Disposition",
                               "attachment; filename=имя_твоего_файла"+".pdf" );

он тебе будет сохранять файл не именем сервлета(согласись это не очень красиво и совсем неудобно)
а с тем именем и расширением которыеты захочешь
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.