Не удается открыть файл XLS в IE - PullRequest
8 голосов
/ 18 июня 2010

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

Internet Explorer cannot download ...466088C5C313F92808BDB0AFF3447 from testhost.

Internet Explorer was not able to open this Internet site.  The requested site is either unavailable or cannot be found.  Please try again later.

Я могу открыть один и тот же документ через 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

Ответы [ 3 ]

12 голосов
/ 18 июня 2010

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

Pragma: no-cache
Cache-control: no-cache,max-age=0,must-revalidate
6 голосов
/ 18 июня 2010

Наиболее вероятная причина - заголовки ответа 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: public

1 голос
/ 18 июня 2010

Cache Control установлен на no-cache? Я столкнулся с подобной проблемой. Подробнее см. на этот вопрос и ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...