好的,我有一个将文件上传到网络服务器的网络应用程序。我上传表单中的输入字段包括:上传类型(下拉列表),标题,说明以及要上传的文件,即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文件。我怎么做?顺便说一句,上面发布的代码都正常工作。我只想更改我的代码,以便在单击时在新选项卡中查看。
谢谢!
答案 0 :(得分:0)
根据docs:
echo $this->Html->link(
'Enter',
'/pages/home',
array('target' => '_blank')
);