2010-06-18 4 views
8

У нас есть веб-приложение JSF, которое генерирует файл XLS и дает ссылку пользователю на файл.
Все работает нормально, если доступ к этому файлу через HTTP.
Но IE (8) не может открыть/сохранить этот файл xls через HTTPS.
Там будет следующее сообщение об ошибке:Не удается открыть файл xls в IE

Я могу открыть тот же документ через HTTPS в Firefox и Chrome.
В чем может быть проблема с IE?

Заголовки:

HTTP/1.1 200 OK 
Date: Fri, 18 Jun 2010 14:45:42 GMT 
Server: Apache-Coyote/1.1 
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 
X-UA-Compatible: IE=EmulateIE7 
Last-Modified: Fri, 18 Jun 2010 14:45:11 GMT 
Cache-control: max-age=0, no-store, no-cache 
Pragma: no-cache 
Expires: 0 
Content-Type: application/vnd.ms-excel 
Content-Length: 6656 
Keep-Alive: timeout=5, max=100 
Connection: Keep-Alive 

ответ

12

Согласно http://support.microsoft.com/kb/316431, вы должны удалить любой из этих заголовков HTTP используется:

Pragma: no-cache 
Cache-control: no-cache,max-age=0,must-revalidate 
+0

Cache-control: max-age = 0, no-store, no-cache Pragma: no-cache –

+2

@Vladimir Bezugliy: Удалите их. – houbysoft

1

ли вы Control Cache установлен не-кэш? У меня возникла аналогичная проблема. См. this question and answer.

+0

Cache-Control: макс-возраст = 0, нет-магазин, нет кэша Pragma: нет кэша –

+0

не Удалите не-кэш и увидеть что происходит –

6

Наиболее вероятной причиной является заголовки ответа HTTP, который мы должны были настроить специально для XLS файлов под SSL

Expires: Mon, 26 Jul 1997 05:00:00 GMT 
Last-Modified: Fri, 18 Jun 2010 16:22:07 GMT 
Cache-Control: cache, must-revalidate 
Pragma: public 

для управления кэшем и

Content-Type: application/vnd.ms-excel 
Content-Disposition: attachment; filename="ExcelDownload.xls" 
Content-Transfer-Encoding: binary 
Content-Length: <fileSize> 

за содержание

Ключом запись Pragma: общественный

Смежные вопросы