2012-01-24 2 views
2

Я обслуживаю файл zipped up для моих клиентов для загрузки и работает в каждой ОС/браузере, за исключением IE.IE загружается неполноценно, несмотря на то, что он требует успеха

Застежка-молния - 550 МБ. Когда я использую IE 8, файл загружается между 50 - 70 МБ, а затем утверждает, что загрузка завершена, даже если исходный файл составляет 550 МБ.

Мне интересно, не хватает ли каких-либо требуемых заголовков или что-то в этом роде. Вот код php, который я использую для работы с файлом.

<?php 
header("Content-type: application/zip"); 
header("Content-Disposition: attachment; filename=$dnfilename"); 
header("Content-Length: ".filesize($ZIPFILE)); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
readfile("$ZIPFILE"); 
?> 
+0

'работает в каждом OS/Browser для IE.' Большого сюрприза :) кроме. Могут ли другие реплицировать проблемы, или вы единственный, кто испытал это? –

+0

Это случилось с несколькими моими клиентами, все запущенные IE. – ctown4life

+0

@ ctown4life - я пробовал свой код с IE 9, и он отлично работает для меня. Скачан файл 1,5 ГБ без каких-либо проблем. Проблема только с IE 8? – Cyclonecode

ответ

0

Я не знаю, если это помогает, но следующие работы для меня на IE8 - 9, Chrome и Firefox с помощью 1.5GB архива.

header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: public"); 
header("Content-Description: File Transfer"); 
header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=\"".$dnfilename."\""); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Length: ".filesize($ZIPFILE)); 
readfile($ZIPFILE); 

Посмотрите на эту статью: HTTP Headers for ZIP File Downloads

+0

Это все еще проблема для меня, хотя я правильно настроил заголовки. –

0

Я имел такую ​​же проблему в IE7 и IE8. IE9 и другие браузеры работали отлично. Если вы измените заголовок Content-Type, он будет работать.

Изменить

header("Content-type: application/zip"); 

в

header("Content-type: application/octet-stream"); 
Смежные вопросы