【问题标题】:TCPDF save file & then redirectTCPDF 保存文件然后重定向
【发布时间】:2018-06-03 05:50:51
【问题描述】:

我正在使用 Laravel 5.4 和 Eliby TCPDF 我试图在保存 PDF 文件后将用户重定向到主页,但我的代码在保存 PDF 时停止。文件已保存,但下一行(重定向)未运行。我的代码如下

$storepath =  '/path/to/store/' . $id;
$storename =  '/file.pdf';
if (!file_exists($storepath)) {
    mkdir($storepath, 0777, true);
}
PDF::Output($storepath . $storename, 'F');
return redirect('/' );

谁能明白为什么它不运行return redirect('/'); 而是返回一个白屏?

如果我将return redirect('/'); 替换为echo "Done";,那么我会在屏幕上完成输出。

作为一种解决方法,我添加了echo '<a href="/">Click here</a>';,但这并不理想

【问题讨论】:

  • 文件创建成功了吗?日志中是否有任何错误?
  • 是的,文件已正确创建和保存,日志中没有错误。如果我删除上面的代码,脚本运行正常,但显然没有文件被保存
  • 我的猜测 - PDF::Output() 正在写入浏览器,并且由于数据已进入浏览器,因此重定向无法正常工作
  • 'F' 不是指示它保存文件而不是输出到浏览器吗? PDF::output('file.pdf') 会将其输出到浏览器

标签: php redirect laravel-5 tcpdf


【解决方案1】:

试试

$pdf->Output($pdfCertPath, 'F');
$pdf->Output();

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
  • 我一直在寻找几天来弄清楚为什么在 EOF 之后将 $pdf->Output($file, 'D') 之后的 stdout 添加到我的 PDF 输出的末尾。不知道为什么,但这个解决方案最终解决了它。谢谢!
猜你喜欢
  • 2014-08-24
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 2019-10-17
  • 2020-07-16
  • 1970-01-01
相关资源
最近更新 更多