Я обнаружил странную проблему в 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.
3 ответа
На данный момент типом MIME zip-файла в Google Chrome является application / octet-stream . :)
Это ошибка 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.';}
Похожие вопросы
Связанные вопросы
Новые вопросы
google-chrome
[google-chrome] предназначен для вопросов, связанных с разработкой с помощью Google Chrome, веб-браузера, использующего механизм рендеринга Blink. Предупреждение! Общая поддержка браузера не по теме: вопросы по использованию или настройке браузера следует размещать на https://superuser.com. Chrome OS и Chromium не по теме: вопросы о [google-chrome-os] или [chromium] должны использовать эти теги.