CakePHP:使用媒体视图报告失败的下载

CakePHP:使用媒体视图报告失败的下载,cakephp,Cakephp,我使用CakePHP的媒体视图强制下载文件。我的代码非常像,为了方便起见,我将粘贴到这里: <?php class ExampleController extends AppController { public function download () { $this->viewClass = 'Media'; // Download app/outside_webroot_dir/example.zip $params =

我使用CakePHP的媒体视图强制下载文件。我的代码非常像,为了方便起见,我将粘贴到这里:

<?php
class ExampleController extends AppController {
    public function download () {
        $this->viewClass = 'Media';
        // Download app/outside_webroot_dir/example.zip
        $params = array(
            'id'        => 'example.zip',
            'name'      => 'example',
            'download'  => true,
            'extension' => 'zip',
            'path'      => APP . 'outside_webroot_dir' . DS
        );
        $this->set($params);
    }
}

检测文件何时完成下载绝非易事。这可以通过javascript在客户端完成,但浏览器没有为此提供任何挂钩

有一个非常聪明的解决方案(设置一个cookie,然后用javascript查找),但它只告诉您何时开始下载