CakePHP 1.3媒体视图在下载时导致文件损坏

时间:2011-07-12 09:59:53

标签: cakephp-1.3 download

我从CakePHP开始。将文档上传到我的服务器后,用户尝试下载它,但文件结果已损坏。

可能导致这种情况发生的原因是什么?我通过我的网站的cPanel检查了文件,这是完美的。只有在用户尝试下载时才会出现此问题。

在我的需求控制器中:

function download() {
    $file = //here I get the file
    $loca = //here I get its location

    if (!empty ($file)) {
        $file_info = pathinfo($file);

        $this->view = 'Media'; 
        $params = array( 
            'id'        => $file,
            'name'      => $file,
            'extension' => $file_info['extension'], 
            'download'  => true, 
            'path'      => APP . WEBROOT_DIR . DS . $loca . DS
       );
       $this->set($params);
   } else {
       $this->redirect($this->referer());
   }
}

在我看来:

echo $html->link(
    'Download', array(
        'controller' => 'requirements', 
        'action'     => 'download'
    )
);

我一直试图解决这个问题很长一段时间。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

嗯,我不确定这是问题...但有关Media Views的文档说:

  

name - 该名称允许您指定要发送给用户的备用文件名。指定名称,不含文件扩展名。

并且你没有添加mime类型...尝试添加它

祝你好运

答案 1 :(得分:0)

如果您在core.php for debug中的设置被设置为0以外的任何设置,则媒体插件不起作用。可能与视图呈现有关,如果为调试模式设置不同。