尝试下载文件时缺少数据源配置

时间:2013-10-19 21:15:13

标签: cakephp

在我的UploadsController中,我有这个下载方法:

function download($id = null) {
    if (!$id) {
        $this->Session->setFlash(__('Invalid id for upload', true));
        $this->redirect(array('action' => 'index'));
    }
    $upload = $this->Upload->findById($id);
    if (!$upload) {
        $this->Session->setFlash(__('Invalid id for upload', true));
        $this->redirect(array('action' => 'index'));
    }


    $path = APP . 'useruploads' . DS . $upload['Upload']['id'];
    $this->response->file($path);
    //Return reponse object to prevent controller from trying to render a view
    return $this->response;
}

但是在尝试下载文件时出现此错误:

  

错误:在database.php中找不到数据源配置493。

文件存在,我查了一下。 database.php与文件下载有什么关系?这个错误信息对我来说没有意义。

我正在使用Cake 2.4.1。谁能告诉我他们的文件下载如何与2.4.1一起使用?

如果有帮助,这是Stack Trace:

stack trace

我发现了什么: 我的文件名为5262ffbf-6e44-45b8-abc6-0de8009d1f70。 在文件函数中使用$ path2会给我一个错误。 使用带有硬编码ID的$ path有效。 但$ path和$ path2的调试输出是相同的。这怎么可能?

    $path = APP . 'useruploads' . DS . '5262ffbf-6e44-45b8-abc6-0de8009d1f70';
    $path2 = APP . 'useruploads' . DS . $upload['Upload']['id'];
    debug($path);
    debug($path2);
    $this->response->file($path2, array('download' => true, 'name' => 'logo.png'));

1 个答案:

答案 0 :(得分:0)

我使用了一个名为“Folder”的自创模型。结果不应该是因为它打破了一切。我将模型重命名为“Dir”,现在它可以工作了。 应该早先阅读受保护的模型名称列表。