通过媒体视图查看CakePHP文件不起作用
我有CakePHP1.3,我有一个动作,应该是查看一个文件,这个文件可能是.pdf、.doc、。。。。或者任何文件,但我得到的是一张空白页 代码示例:通过媒体视图查看CakePHP文件不起作用,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,我有CakePHP1.3,我有一个动作,应该是查看一个文件,这个文件可能是.pdf、.doc、。。。。或者任何文件,但我得到的是一张空白页 代码示例: public function view_attachments($attachment_id){ $attachment = $this->get_attachment($attachment_id); if($attachment){ $path = pathinfo($attac
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);
}
}
有什么想法吗?请通知。检查media.ctp文件必须为空。。。要获得正确的输出。。。
感谢检查我自己的工作代码,我看到的唯一区别是
$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);
}
也许:
Configure::write('debug', 0);
我也尝试过这样做,删除$this->autoRender=false;确保没有视图文件,然后我会看到一个找不到的屏幕。嗯,还有两个想法:-删除'mimetype'行-放置一个硬的'path',你能为$params添加调试吗?验证您的路径是否正确。当媒体视图找不到有问题的文件时,媒体视图通常会触发404错误。