首页 文章

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

提问于
浏览
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);


}

在我 view page

<?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

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

    <?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帮助程序的功能

    我希望它对你有用 .

相关问题