Тип Mime для zip-файла в Google Chrome

Я обнаружил странную проблему в mime-типе zip-файла, когда работал над приложение Symfony.

Согласно w3school, тип mime для zip-файла - application/zip. Я тоже в это верю.

Но когда я загружаю zip-файл в свое приложение Symfony с IE, mime-тип этого zip-файла - application/x-zip-compressed. Когда я загружаю zip-файл в Firefox, mime-тип этого zip-файла - application/octet-stream.

Ни один из них не является application/zip, как мне хотелось бы верить.

Самое странное поведение - это Google Chrome. Когда я загружаю zip-файл в Google Chrome, я не могу определить для него правильный тип mime. Хотя я почти уверен, что это нет

application/zip   
application/x-zip
application/octet-stream
application/x-zip-compressed

Тип mime для zip-файла в Google Chrome - это пустая строка, как я узнал, выгружая возвращенный объект sfValidatorFile. Обратите внимание, что sfValidatorFile.type - это "" для zip-файла.

Но объект sfValidatorFile.type, возвращаемый для файла jpeg, - это jpeg.

Мне кажется, что есть ошибка либо в Symfony, либо в Google Chrome

Дополнительная информация: похоже, что Gmail интерпретирует mime-тип zip-файла как application / zip в Google Chrome. Это правильное поведение. Кажется, это подтверждает, что это ошибка Symfony.


person Graviton    schedule 13.05.2009    source источник
comment
Можете ли вы установить где-нибудь точку останова и прочитать mimetype из запроса?   -  person TM.    schedule 13.05.2009


Ответы (3)


На данный момент типом MIME zip-файла является application / octet-stream в Google Chrome. :)

person Salman von Abbas    schedule 29.08.2010
comment
можем ли мы изменить тип MIME с октетного потока на zip ..? есть ли какие-нибудь настройки в хроме или коде в приложении, которые мы можем использовать ..? - person Praditha; 02.02.2015
comment
Кажется, что это зависит от ОС, хром на Mac возвращает приложение / zip, приложение win7 / octet-stream и приложение win8 / x-zip-compressed - person sstauross; 12.11.2015
comment
У вас есть источник для этого? - person Yiannis Dermitzakis; 17.03.2017

Это ошибка Google Chrome, а не Symfony. У меня такая же проблема с мимом ZIP в Google Chrome.

У меня есть собственное приложение, написанное на php.

Когда вы пишете echo $_FILES['yournameattr']['type'];, он возвращает пустую строку, когда вы загружаете zip-файл, но когда вы загружаете файл gif или jpeg, он возвращает image / jpeg или image / gif.

У меня Google Chrome версии 3.0.195.6 (бета).

Хотя, если вам нужно быстрое решение, вы можете использовать preg_match, чтобы проверить расширение файла (zip или нет).

if (preg_match('/(.*)\.zip/',$_FILES['yournameattr']['name'])) {echo 'This is zip.';}
person Community    schedule 13.09.2009
comment
Вы сообщили о проблеме в Google Chrome? - person Graviton; 14.09.2009
comment
Поле имени в массиве файлов передается клиентом и действует только в том случае, если клиент отправил вам файл с правильным расширением. Другими словами, это не заслуживает доверия. - person Matthew; 26.02.2013

Мне кажется, что в Symfony есть ошибка.

Билет был открыт здесь.

person Graviton    schedule 13.05.2009