cakephp下载链接背后的图像或媒体文件不起作用

时间:2013-07-18 02:43:14

标签: cakephp file-upload cakephp-2.0 cakephp-2.1

我正在开发一个cakephp 2.x ...我有一个表单,我从用户那里获取文件,然后我将文件保存到 app / uploads / userid 文件夹中将路径保存到db ...我成功获取文件并将其显示给用户但现在问题是在下载期间..我的意思是每当用户单击文件链接时,它会将用户重定向到某个未知链接

这是我的代码

public function uploadFile(){

    if ($this->request->isPost()){
        $this->loadModel('Audio');
        $file = $this->request->data['Audio']['file'];

    $idUser = $this->Auth->user('idUser');


        if ($file['error'] === UPLOAD_ERR_OK) {
            $id = String::uuid();
            $name =$file['name'];

            $folder_url = APP.'uploads/'.$idUser;
        if(!is_dir($folder_url)) {
            mkdir($folder_url);
        }
        move_uploaded_file($file['tmp_name'],  $folder_url.DS.$name);

            $this->request->data['Audio']['User_id'] = $idUser;
            $this->request->data['Audio']['filename'] = $file['name'];
            $this->request->data['Audio']['filesize'] = $file['size'];
            $this->request->data['Audio']['filemime'] = $file['type'];
            $this->Audio->save($this->request->data);


            return true;
        }
    }
    return false;
}



public function showfile(){
 $this->loadModel('Audio');
    $record = $this->Audio->find('first', array('conditions' => array('User_id' =>        $this->Auth->user('idUser'))));
    $this->set('file', $record);


}

在我的查看页面

  <?php  echo $this->Html->link($file['Audio']['filename'], APP . DS . 'uploads' . DS . $file['Audio']['User_id'] . DS . $file['Audio']['filename'] . DS . $file['Audio']['filemime']);?>

这是点击链接后的网址

     /localhost/cakephp/media/C:/xampp/htdocs/cakephp/app//uploads/23/1011029_10152615392142588_1926259269_n.jpg/image/jpeg

我已经尝试过所有的东西让它起作用对我来说都没有任何效果......我需要帮助..

1 个答案:

答案 0 :(得分:0)

你可以像这样添加文件名,点击

<?php echo $this->Html->link($file['Audio']['filename'], 'uploads' . DS . $file['Audio']['User_id'] . DS . $file['Audio']['filename'] . DS . $file['Audio']['filemime'], array('target' => '_blank')); ?>

要获得更多理解,请抛出此cakephp.org链接以了解html帮助程序功能

我希望它对你有用。