0

私の Cakephp Web ページには、ユーザーがクリックするボタンがあり、サーバーでメンテナンスを実行してから、ユーザーにダウンロードを提示します。ファイルのダウンロードは testlogs.gzip ですが、Firefox でダウンロード オプションが発生すると、html ドキュメントのファイル タイプとして表示されます。

ファイルは正常にダウンロードおよび抽出されますが、ファイルの種類を正しくしたいと考えています。

ダウンロード用の Media ビュー クラスは次のとおりです。

        //$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 に答える