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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача файла клиенту 
:(
    Опции темы
zer
Дата 11.5.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день!
Есть сервлет, который формирует отчет и сохраняет его в файле типа .csv
Сам файл сохраняю в %TOMCAT_HOME%/webapps/myappl , тогда его URL будет таким:
http://HOSTNAME/myappl/file.csv
На jsp-странице вставляю ссылку: <a href="file.csv">Отчет</a>

Вроде бы все работает, при нажатии на ссылку firefox предлагает открыть его или сохранить на диск. А IE просто открывает его в своем окне. Как сделать так что-бы он тоже предлагал "открыть с помощью\сохранить"?
 
PM MAIL   Вверх
Stampede
Дата 11.5.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

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



Цитата(zer @  11.5.2006,  06:05 Найти цитируемый пост)
Вроде бы все работает, при нажатии на ссылку firefox предлагает открыть его или сохранить на диск. А IE просто открывает его в своем окне.


Для этого нужно, чтобы содержимое файла шло с указанием правильного MIME type (HTTP заголовок Content-Type). Чтобы Tomcat правильно его указывал, нужно добавить тип CSV в конфигурацию дефолтного сервлета. Для этого:
  • Зайди в директорию %TOMCAT_HOME%/conf
  • Открой файл web.xml
  • Найди секцию со списком mime-mapping
  • Добавь такую запись:

Код

    <mime-mapping>
        <extension>csv</extension>
        <mime-type>text/csv</mime-type>
    </mime-mapping>


В принципе IE должен понять, что файл нужно сохранить на диске. Если не поможет, попробуй альтернативные типы: http://en.wikipedia.org/wiki/Comma-separat...alues#MIME_type

Если совсем ничего не поможет, то придется возиться с HTTP заголовком Content-Disposition (например, при помощи фильтра).

Да, ну и по результатам хорошо бы отчитаться, а то нам тоже интересно smile
 
PM WWW   Вверх
zer
Дата 12.5.2006, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, помогло! 
Добавил в web.xml 
Код

<mime-mapping>
<extension>csv</extension>
<mime-type>text/csv</mime-type>
</mime-mapping>


Теперь IE спрашивает что делать с этим csv.
  

Это сообщение отредактировал(а) zer - 12.5.2006, 08:59
PM MAIL   Вверх
Tony
Дата 12.5.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



Ещё можно через Attachment. 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
tux
Дата 12.5.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Цитата(Tony @  12.5.2006,  14:36 Найти цитируемый пост)
Ещё можно через Attachment.  

Это как? 
PM MAIL Skype GTalk Jabber YIM   Вверх
Tony
Дата 12.5.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



res.setHeader("Content-disposition","attachment; filename=" +"Example.pdf" );
Появиться окно save/open
 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
ALKS
Дата 12.5.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

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


 




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


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

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