0

私はここでより新しく、cakephp を使用して、サーバーからファイルをダウンロードするために MediaViews を使用します (pdf)。表示しますが、ファイルはありません。何も変わりません。(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);
}

私はparmasにvar_dumpを使用し、結果:

 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:\medium\app\files\dino.pdf

私を助けることができる人、ありがとう

4

1 に答える 1

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);
于 2013-02-06T15:39:32.320 に答える