我有CakePHP 1.3,我有一个应该查看文件的动作,该文件可能是.pdf,.doc,....或任何文档,但我得到一个空白页面。
代码示例:
public function view_attachments($attachment_id){
$attachment = $this->get_attachment($attachment_id);
if($attachment){
$path = pathinfo($attachment['EmailAttachment']['file']);
$this->view = 'Media';
$this->autoRender = false;
$params = array(
'id' => $path['basename'],
'name' => $path['filename'],
'download' => false,
'mimeType'=> $this->Common->get_mime_content_type($path['basename']),
'extension' => strtolower($path['extension']), // must be lower case
'path' => APP . $path['dirname'] . DS // don't forget terminal 'DS'
);
$this->set($params);
}
}
任何想法?请指教。
答案 0 :(得分:0)
检查media.ctp文件是否必须为空...以获得正确的输出... 感谢
答案 1 :(得分:0)
检查我自己的工作代码,我看到的唯一区别是
$this->autoRender = false;
当然你不应该有一个“view_attachments.ctp”文件。
请注意,浏览器本身无法打开“.doc”。所以,即使你想要他展示它,他也会让你下载它。
function download($id) {
$data = $this->OdmPieceJointe->read(null, $id);
$path = pathinfo($data['OdmPieceJointe']['fichier']);
$this->view = 'Media';
$params = array(
'id' => $path['basename'],
'name' => $path['filename'],
'download' => false,
'extension' => $path['extension'],
'path' => 'uploads/',
);
$this->set($params);
}
答案 2 :(得分:0)
也许:
Configure::write('debug', 0);