【问题标题】:cakephp download link behind the image or media files not working图像或媒体文件后面的 cakephp 下载链接不起作用
【发布时间】:2013-07-18 02:43:14
【问题描述】:

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

这是我的代码

公共函数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

我已经尝试了所有方法以使其正常工作,但对我来说没有任何效果..请我需要帮助..

【问题讨论】:

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


    【解决方案1】:

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

    <?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 帮助器功能

    希望对你有用。

    【讨论】:

    • 谢谢它解决了一半的问题..但不知道为什么它不下载文件...也无法通过 url 访问...我不知道我是否做得对...文件在 app/uploads/23/10......jpg... 现在网址是在添加链接之后...localhost/cakephp/media/uploads/23/1011029_10152615392142588_1926259269_n.jpg
    • 只需转到 book.cakephp.org/2.0/en/views/… 并使用媒体视图强制下载您的文件,只需将参数设置为您的链接
    • 谢谢我通过点击此链接stackoverflow.com/questions/15210211/…
    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2018-09-13
    • 2013-01-10
    • 2018-06-26
    • 1970-01-01
    相关资源
    最近更新 更多