【问题标题】:Wrong File Type for File Download - CakePHP文件下载的文件类型错误 - CakePHP
【发布时间】:2012-08-23 01:30:01
【问题描述】:

在我的 cakephp 网页中,我有一个用户单击的按钮,它在服务器上执行一些维护,然后向用户提供下载。文件下载是 testlogs.gzip,但是当下载选项出现在 Firefox 中时,它会以 html 文档的文件类型出现。

文件下载和解压正常,但我希望文件类型正确。

这是用于下载的媒体视图类:

        //$this->autoRender = false;
        $this->viewClass = 'Media';
        $params = array(
            'id' => 'systemlogs',
            'name' => 'testsystemlogs',
            'download' => true,
            'extension' => 'gzip',
       //   'mimeType' => 'zip',
            'path' => DS . 'home' . DS
        );
        $this->set($params);

我尝试添加'mimeType' => 'zip',但没有成功。

任何帮助都会很棒。

谢谢

更新:我测试了相同文件的上传,并使用 firebug 来确定内容类型。我关心的唯一文件类型是:application/octet-stream。 所以我想我只需要在 Media 类设置中设置这种类型,但不知道该怎么做。 谢谢

【问题讨论】:

    标签: file cakephp download media mime


    【解决方案1】:

    mimeType 必须指定为关联数组(扩展 -> 类型),在您的情况下,这将是 array('gzip' => 'application/x-gzip')。 CakePHP 将此数组与 CakeResponse 类中已知 MIME 类型的内置数组合并。

    但是,CakePHP 已经知道 .gz 文件的 MIME 类型,因此如果可以选择更改文件的扩展名,可能是一个更简单的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2012-12-21
      • 2011-10-26
      • 2013-12-23
      相关资源
      最近更新 更多