【问题标题】:Firefox downloads(tries to open) .zip file as .HTMFirefox 下载(尝试打开).zip 文件为 .HTM
【发布时间】:2015-12-04 02:02:32
【问题描述】:

我正在创建可下载的 zip 文件,它几乎在任何地方都能正常工作。但在 Mozilla Firefox 中保存此 zip 时,我收到奇怪的消息,表明 my_zip.zip 是 HTM 文件(对于语言,我很抱歉,但我希望它很容易理解):

如果我选择保存选项,它将被保存为普通 zip(根本没有 HTM 的迹象),但在“打开方式”部分只有用于打开 HTM 的程序

所以,问题是 如何让 Firefox 将此 zip 检测为 zip?
我目前正在使用此标头(由 PHP 设置):

        header('Content-Description: File Transfer');
        header("Content-Type: application/octet-stream");
        header("Content-Disposition: attachment; filename=$zipFileName");
        header("Content-Transfer-Encoding: binary");
        header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
        header("Cache-Control: no-store");
        header('Pragma: no-cache');
        header("Content-length: " . filesize($zipFileName));
        readfile($zipFileName);

已经尝试使用 header("Content-Type: application/zip"); ,不起作用;加上application/zip 不是标准的(正如我在一些与标题相关的问题中所读到的那样)。

我使用的是 Mozilla Firefox v40.0.3,php 项目使用的是 Laravel 5.1 (我怀疑它与此有关)


更新:
在尝试不同的 application\[format]s 时,我在 headers 之后添加了一个 dump and die 命令

        //bunch of kosher headers here...
        readfile($zipFileName);
        dd(headers_list());//dumps and dies

我在下载窗口中得到一个 zip 类型。然后我发现在dieexit 之后,我总会得到正确的zip 下载类型;然后我删除了所有 dump-and-die 部分,但下载类型仍​​然为 zip。我不知道我通过这种操作解决了什么问题。
我很想解释一下这种奇怪的情况

【问题讨论】:

  • 可能是 firefox 附件类型(请参阅选项)或 windows 文件类型问题(请参阅控制面板)。显然,它被检测为 zip,因为建议使用 7zip(通过扩展)。
  • @DeDee 7zip 控制台是我选择的。默认情况下,Firefox 建议默认浏览器打开 htm
  • "然后我删除了所有的转储部分,但下载类型仍​​然是 zip"。除非您明确使用 PHP 缓存,否则这完全看起来像 firefox 本地缓存。

标签: php html firefox download http-headers


【解决方案1】:

快速的google search 表明 Content-Type 似乎是罪魁祸首

 header("Content-Type: application/octet-stream");

尝试将其设置为 application/x-zip-compressed ? 此错误报告中的 cmets 也可能有用:https://bugzilla.mozilla.org/show_bug.cgi?id=540900

【讨论】:

  • 您好!感谢您的回复,我已经更新了我的问题,请您检查一下,我已经解决了这个问题,但我不明白如何
  • 正如 DeDee 所建议的,这里可以进行缓存。此外,可以使用 firebug(网络选项卡)来查看请求/响应的详细信息,而不是转储标头。
猜你喜欢
  • 2021-05-13
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多