CakePHP单击PDF链接并在新选项卡上查看它

时间:2015-01-24 07:03:18

标签: cakephp hyperlink tabs

好的,我有一个将文件上传到网络服务器的网络应用程序。我上传表单中的输入字段包括:上传类型(下拉列表),标题,说明以及要上传的文件,即PDF格式。

上传PDF文件后,下载链接将显示在另一个页面中供公众查看。此外,输入字段中输入的标题是下载链接。

现在,我想更改我的代码。我没有在点击链接时直接下载它,而是希望它在新标签页中打开,这样用户就可以先查看PDF文件,然后从那里下载。

这是我的代码。

控制器:

public function sendFile(){
        $id = $this->request->params['pass'][0];
        $staffup = $this->StaffUpload->find('first', array('conditions' => array('iduploads'=>$id)));
        $this->response->file($staffup['StaffUpload']['dest'], array('download' => true, 'name' => $staffup['StaffUpload']['title']));
        return $this->response;
    }

上面的代码是下载功能。

public function resources() {
        $this->layout = 'website';
        $this->set('staff_uploads', $this->StaffUpload->find('all', array('conditions' => array('type' => 'Resource'))));
    }

上面的代码是视图,其中我显示了所有类型为资源的上传文件。

查看:

    <?php
         foreach ($staff_uploads as $staff_uploads) {
    ?>
    ul>
         <li>
         <?php
              echo $this->Html->link($staff_uploads['StaffUpload']['title'],   array('controller' => 'websites', 'action' => 'sendFile',  $staff_uploads['StaffUpload']['iduploads']));
         ?>
         </li>
    </ul>
<?php
     }
?>

上面的代码显示了视图。

所以是的,回到这个问题。我想将下载链接更改为链接,在单击该链接时,将在新选项卡中显示PDF文件。我怎么做?顺便说一句,上面发布的代码都正常工作。我只想更改我的代码,以便在单击时在新选项卡中查看。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据docs

echo $this->Html->link(
    'Enter',
    '/pages/home',
    array('target' => '_blank')
);