Проблема с загрузкой в ​​IE - PullRequest
3 голосов
/ 04 декабря 2009

Я использую классический asp с vb script. Код для скачивания файла excel:

Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment;filename=ExportedData.xls"
Response.Write "<table><tr><td>1</td></tr></table>"

Тогда он отлично работает с Firefox или любым другим загрузчиком, например, с орбитальным загрузчиком. Но я получаю ошибку в IE 6.0 / 7.0 / 8.0.

Сообщение:

Internet Explorer не может загрузить myasppage.asp от secure.siteurl.com.

Internet Explorer не смог открыть этот интернет-сайт. Запрашиваемый сайт либо недоступен, либо не может быть найденный. Пожалуйста, попробуйте позже.

так в чем же проблема?

FYI: Я передаю параметр строки запроса ysnDownload = 1 на страницу myasppage.asp. & если он передается тогда и только тогда, он будет иметь ContentType как приложение, в противном случае он будет иметь тип по умолчанию (text / html).

Ответы [ 4 ]

2 голосов
/ 04 декабря 2009

Я думаю, что ключ может быть в "secure.siteurl.com". Я думаю, вы отправляете это через https?

В этом случае вы можете столкнуться с проблемой "ошибки" в том, как IE обрабатывает загрузки этого типа. Он загружает такие документы в кеш, затем передает или открывает их оттуда. Однако, когда содержимое загружается по протоколу https и не указывает кэширование или явно не заявляет, что элемент не должен обслуживаться из кэша, документ не сохраняется в кэше. Это может прервать загрузку, сохранить или открыть механизм.

Попробуйте установить свойства Expires и CacheControl объекта Response, чтобы разрешить очень короткое окно кэширования. Например: -

Response.Expires = 1
Response.CacheControl = "private; max-age=10"
0 голосов
/ 28 февраля 2010

http://forums.asp.net/t/1224596.aspx

Эта строка кода должна работать для вас, просто очистите заголовки также перед экспортом файла. Reponse.ClearHeaders ();

0 голосов
/ 04 декабря 2009

Вы clear размышляете и end размышляете?

Response.Clear
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment;filename=ExportedData.xls"
Response.Write "<table><tr><td>1</td></tr></table>"
Response.End
0 голосов
/ 04 декабря 2009

Если вы используете SSL (secure.siteurl.com использует SSL, верно?), То Internet Explorer немного требователен к временным файлам.

Заголовки, которые я обычно отправляю вместе с ним, в этом случае:

Cache-Control: public, must-revalidate
Pragma: hack
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...