0

在我的 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 类设置中设置这种类型,但不知道该怎么做。谢谢

4

1 回答 1

2

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

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

于 2012-08-29T09:04:24.900 回答