Xpoint
   [напомнить пароль]

Важное замечание по даунлоаду файлов в IE

Метки: [без меток]
2008-10-12 15:15:55 [обр] Владимир Коренберг[досье]
сообщение промодерировано

Убил два дня на то, что бы разобраться почему IE 6 не дает сохранять файл, который формируется скриптом и отправляется пользователю, в то время, как все остальные браузеры (FF, Opera, Safari) делали это безукоризненно.
Проблема оказалась в том, для IE _НЕОБХОДИМО_ ставить хеадер

header('Cache-Control: public');

иначе не работает.
если у кого-то та же проблема, вот решение)

спустя 1 час 54 минуты [обр] Ali(5/5)[досье]
Я вот тоже вспомнил про Content-Disposition. Как-то не верится, что контроль кеширования влияет, скорее всего это справедливо для пользователей, которые за прокси.
спустя 7 минут [обр] MiRacLe(47/77)[досье]
не угадали, session_cache_limiter
спустя 17 часов [обр] Владимир Коренберг[досье]

То Михаил Кюршин aka ya-ya

Открыть диалог - не проблема. он как раз нормально открывается. После нажатия на кнопку "сохранить" IE пишет, что "Невозможно загрузить файл" (не дословно), хотя в FF и Opera все ок.
Но проблема уже решена, жалко, что потратил на это 2 дня...

спустя 27 минут [обр] Михаил Кюршин aka ya-ya(69/414)[досье]

Я не просто так привёл пример из фака. Лично у меня на PHP 5.2.4 и под Win и под Linux (RHEL 4) в IE 6 (6.0.2900.2080.xpsp_sp2_gdr.061219-0316) он работает:

<?php
header("Content-Disposition: attachment; filename=file.txt");
header("Content-Type: application/x-force-download; name=\"file.txt\"");
print file_get_contents('file.txt');
?>

Возвращаются такие заголовки и содержимое (смотрю в HttpWatch):

HTTP/1.1 200 OK
Date: Mon, 13 Oct 2008 13:48:55 GMT
Server: Apache
Content-Disposition: attachment; filename=file.txt
Content-Length: 4
Connection: close
Content-Type: application/x-force-download; name="file.txt"

test

файл успешно скачивается: сохраняется и открывается.
Так что мой эксперимент не подтверждает вашу теорию ("...для IE НЕОБХОДИМО ставить хеадер...")

спустя 1 час 45 минут [обр] Алексей Севрюков(162/1280)[досье]
Сталкивался с проблемой, IE в упор не хотел открыть генерируемый скриптом XLS файл, решал также как и Михаил Кюршин aka ya-ya[досье], и тоже успешно.
спустя 3 часа 7 минут [обр] MiRacLe(47/77)[досье]
Владимир Коренберг[досье], у вас имеется session_start в проблемном скрипте ?
Алексей Севрюков[досье] а у вас ?
спустя 1 час 40 минут [обр] Алексей Севрюков(162/1280)[досье]
MiRacLe[досье] а у меня Perl )
спустя 17 часов [обр] Владимир Коренберг[досье]

> у вас имеется session_start в проблемном скрипте ?

имеется))
причем используется буферизированный вывод, но я перед тем, как отправлять хеадеры делать ob_end_clean()

спустя 2 часа 31 минуту [обр] MiRacLe(47/77)[досье]
ЧиТД ;o)
Powered by POEM™ Engine Copyright © 2002-2005