CakePhp文件无法启动下载

时间:2013-02-06 15:24:02

标签: cakephp download

我在这里和cakephp更新,我使用MediaViews从服务器下载文件(pdf),我在cakephp.org,谷歌和这里关注媒体观点教程,但是当我点击链接时仍然有问题,我得到了视图,但没有文件,没有任何变化。 (book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Views.html) 我的下载功能:

function download () {
$this->view = 'Media';
$params = array(
'id' => 'dino.pdf',
'name' => 'dino',
'extension' => 'pdf',
'download' => true,
'mimeType' => array('pdf' => 'application/pdf'),   
'path' => APP.'files'.DS
);
$this->set('dino',$params);
}

我使用var_dump作为parmas,结果:

 array(6) { ["id"]=> string(8) "dino.pdf" ["name"]=> string(4) "dino"   ["extension"]=> string(3) "pdf" ["download"]=> bool(true) ["mimeType"]=> array(1) { ["pdf"]=> string(15) "application/pdf" } ["path"]=> string(20) "D:\medium\app\files\" } 

我在磁盘上的文件: d:\介质\应用\文件\ dino.pdf

任何可以帮助我的人,谢谢

1 个答案:

答案 0 :(得分:0)

请阅读“正确”文档。 您在使用2.x时发布了1.3链接。

http://book.cakephp.org/2.0/en/controllers/request-response.html#cakeresponse

$this->autoRender = false;
$this->response->type('pdf');
$this->response->file($path . $filename, array('download' => true, 'name' => $name));

请注意,file()是> = 2.3。您可能想要升级。

你可以这样做< = 2.2

$this->response->body($contentOfPdf);
$this->response->download($name);