在另一个重定向CakePHP3之后重定向

在另一个重定向CakePHP3之后重定向,php,pdf,cakephp,cakephp-3.0,Php,Pdf,Cakephp,Cakephp 3.0,提交表单后,在控制器操作中,我需要在新选项卡中打开pdf,然后重定向到另一个页面。如果我这样做: $this->redirect(['action' => 'view', $sale->id, '_ext' => 'pdf']); return $this->redirect(['action' => 'add']); 我只得到pdf,但没有重定向到“添加”操作 如何获取URL…/view/saleid.pdf中的pdf,然后转到添加操作 编辑 在添加控制器

提交表单后,在控制器操作中,我需要在新选项卡中打开pdf,然后重定向到另一个页面。如果我这样做:

$this->redirect(['action' => 'view', $sale->id, '_ext' => 'pdf']);
return $this->redirect(['action' => 'add']);
我只得到pdf,但没有重定向到“添加”操作

如何获取URL…/view/saleid.pdf中的pdf,然后转到添加操作

编辑

在添加控制器操作中

return $this->redirect(['action' => 'add', $sale->id]);
再次在顶部的“添加控制器操作”中

public function add($saleId = null)
{
  if(isset($saleId))
    $this->redirect(['action' => 'view', $saleId, '_ext' => 'pdf']);
  ...
}

您只能访问PDF文件,因为您正在重定向到它。重定向后,执行将停止,因此不会执行下一个重定向


由于浏览器的限制,这是无法做到的:应用程序已将“下载此”标题发送到浏览器,因此您无法将用户重定向到任何位置。您可以做的是先重定向到结束页,然后从那里开始下载。

最好先转到第二页,然后开始下载,我尝试了一下,仍然会遇到相同的错误。我得到了pdf,但我没有被重定向。你是怎么做到的?如果删除PDF下载标题,会发生什么情况?它是否会转到您想要的页面?请记住,您现在需要在结果页面的控制器操作中处理下载。我编辑了我的问题。如果我删除重定向到pdf下载,我会转到我想要的页面。所以问题在于重定向。你不能重定向并在新选项卡中打开pdf。您需要使浏览器在执行添加操作时下载该文件。然后,我担心您想做的是不可能的(如果我理解正确的话)。您可以让PDF视图将“下载此”标题发送到浏览器,或者在您的第二页中只需一个“下载此处”链接(我知道,这不是一个好选项)。