【问题标题】:CakePHP view file via Media Views doesn't work通过媒体视图的 CakePHP 视图文件不起作用
【发布时间】:2012-03-14 06:50:13
【问题描述】:

我有 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);
        }
    }

有什么想法吗?请指教。

【问题讨论】:

  • 你可以为 $params 添加 debug() 吗?验证您的路径是否正确。媒体视图中的 404 错误通常实际上是由媒体视图在找不到相关文件时触发的。

标签: cakephp cakephp-1.3


【解决方案1】:

检查 media.ctp 文件是否必须为空白...以获得正确的输出... 谢谢

【讨论】:

    【解决方案2】:

    检查我自己的工作代码,我看到的唯一区别是

    $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);
    
    }
    

    【讨论】:

    • 我也试过这个,去掉 $this->autoRender=false;并确保没有它的视图文件,然后我得到一个 Not Found 屏幕。
    • 嗯,只是另外两个想法:- 删除“mimetype”行-放置一个硬“路径”
    【解决方案3】:

    也许:

    Configure::write('debug', 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      相关资源
      最近更新 更多