Ресурс интерпретируется как Документ, но передается с приложением MIME-типа / zip - PullRequest
171 голосов
/ 05 июля 2011

В Chrome 12.0.742.112, если я перенаправляю со следующими заголовками:

HTTP/1.1 302 Found 
Location: http://0.0.0.0:3000/files/download.zip
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Ua-Compatible: IE=Edge
X-Runtime: 0.157964
Content-Length: 0
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Tue, 05 Jul 2011 18:42:25 GMT
Connection: Keep-Alive

, который при последующем возвращает следующий заголовок:

HTTP/1.1 200 OK 
Last-Modified: Tue, 05 Jul 2011 18:18:30 GMT
Content-Type: application/zip
Content-Length: 150014
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Tue, 05 Jul 2011 18:44:47 GMT
Connection: Keep-Alive

Chrome не будет ни перенаправлять, ни изменятьНа предыдущей странице в консоли будет отображаться следующее предупреждение:

Ресурс интерпретируется как Документ, но передается с приложением MIME-типа / zip.

Процесс работаетправильно в Firefox, а также отлично работает в Chrome, если я открою новую вкладку и сразу перейду к http://0.0.0.0:3000/files/download.zip.Я делаю что-то не так, или это ошибка / изюминка Chrome?

Ответы [ 14 ]

1 голос
/ 03 июня 2017

Я получил эту ошибку, потому что я обслуживал из моей файловой системы.Как только я начал с http-сервера, Chrome мог понять это.

0 голосов
/ 30 апреля 2019

Просто наткнулся на это, и никакая другая информация, которую я смог найти, не помогла: это была глупая ошибка: я отправлял вывод в браузер перед началом загрузки файла.Удивительно, но я не нашел полезных ошибок (например, «заголовки уже отправлены» и т. Д.).Надеюсь, это спасет кого-то еще от горя!

0 голосов
/ 12 июля 2017

У меня возникла такая же проблема с менеджером загрузок, который я создал.Проблема в том, что имя файла было слишком длинным, а расширение обрезано.

Пример: Имя файла: организационные протоколы и другие важные вещи. Pd

<?php
  header("Content-Disposition: attachment; filename=$File_Name");
?>

Решение: Увеличено поле базы данных MySQL до 255 для хранения имени файла и выполнена проверка длины перед сохранением большого двоичного объекта.Если длина> 255, обрежьте его до 250 и добавьте расширение файла.

0 голосов
/ 26 августа 2016

В моем случае имя файла было слишком длинным и получило такую ​​же ошибку. После сокращения ниже 200 символов работал нормально. (предел может быть 250?)

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