适用于Google Chrome的zip文件的Mime类型

Gra*_*ton 17 google-chrome mime-types

当我在Symfony应用程序上工作时,我在zip文件的mime类型中发现了一个奇怪的问题.

根据w3school,zip文件的mime类型是application/zip.这也是我所相信的.

但是当我在我的Symfony应用程序中使用IE上传一个zip文件时,该zip文件的mime类型是application/x-zip-compressed.当我在Firefox中上传zip文件时,该zip文件的mime类型是application/octet-stream.

这些都不application/zip是我想要的.

谷歌Chrome是最奇怪的行为.当我在谷歌浏览器中上传一个zip文件时,我无法确定它的正确mime类型.虽然我相当肯定,它不是

application/zip   
application/x-zip
application/octet-stream
application/x-zip-compressed
Run Code Online (Sandbox Code Playgroud)

谷歌浏览器中zip文件的mime类型是一个空字符串,正如我通过转出sfValidatorFile返回的对象所发现的那样.注意sfValidatorFile.typezip文件是"".

但是sfValidatorFile.type为jpeg文件返回的对象是jpeg.

在我看来,Symfony或谷歌Chrome都有一个错误

更多信息:Gmail似乎将zip文件的mime类型解释为Google Chrome中的应用程序/ zip.这是正确的行为.似乎确认这是Symfony的错误.

Sal*_*bas 25

截至目前,zip文件的MIME类型是Google Chrome中的application/octet-stream.:)

  • 它似乎取决于操作系统,Mac上的chrome返回应用程序/ zip,win7应用程序/ octet-stream和win8应用程序/ x-zip-compressed (2认同)

小智 5

这是 Google Chrome 的 bug,而不是 Symfony。我对 Google Chrome 的 ZIP mime 也有同样的问题。

我有自己的用 php 编写的应用程序。

当您写入时,echo $_FILES['yournameattr']['type'];当您上传 zip 文件时,它会返回空字符串,但当您上传 gif 或 jpeg 文件时,它会返回 image/jpeg 或 image/gif。

我有 Google Chrome 版本 3.0.195.6(测试版)。

不过,如果您需要快速解决方案,您可以使用 preg_match 来检查文件的扩展名(zip 或非 zip)。

if (preg_match('/(.*)\.zip/',$_FILES['yournameattr']['name'])) {echo 'This is zip.';}
Run Code Online (Sandbox Code Playgroud)

  • 您向 Google Chrome 报告了该问题吗? (2认同)