【问题标题】:barryvdh / laravel-dompdf, Laravel 6, not response on Chrome, Androidbarryvdh / laravel-dompdf,Laravel 6,在 Chrome、Android 上没有响应
【发布时间】:2023-03-08 03:57:01
【问题描述】:

我有这个端点,它输出(在浏览器中渲染)一个 PDF 文件:

    $pdf = PDF::loadView('print.property', $data, []); // DOMPDF

    $filename = 'test.pdf';
    if($show) {
        return $pdf->stream( $filename );
    }
    return $pdf->download($filename);

,其中$show 表示渲染,但不下载 PDF 文件。

对于桌面,一切正常并呈现 PDF 文件,但是当我使用移动模拟器 Chrome Dev Tools 进行设置时,服务器没有响应,而是停留在加载模式。

我试过退出,没有返回标题:

header("Content-Type: application/octet-stream");
header("Content-Disposition: inline; filename=\"$filename\"");

使用Content-Disposition: attachment,它会下载正确的生成文件。 我猜问题出在标题中的某个地方。 * 我正在使用LiteServer

这是一些从库响应头中生成的:

content-disposition: inline; filename="test.pdf"
content-type: application/pdf

我之前尝试过并使用此标头:die ($pdf->stream( $filename));

header('Content-Length: 101840');
header('Content-Type: application/octet-stream');

或:

header('Content-Type: application/pdf');

或: header('Content-Disposition: inline; filename="'.$filename.'"'); 要么: header('Content-Disposition: attachment; filename="'.$filename.'"');

没有任何作用。我能得到的最接近的方法是在 Chrome(移动)的浏览器中将其下载或呈现为字符串。

【问题讨论】:

  • 我认为您不应该自己修改标题。你是否在 Laravel 或浏览器控制台中遇到任何错误?
  • 不,但如果我使用die(),我可以设置它们。
  • 当你说“服务器没有响应,只是停留在加载模式”时,你的意思是你没有收到响应,还是你得到一个空白页面?
  • 页面不渲染,选项卡中的加载器在那里,但我有响应头,这真的很奇怪。此外,如果我单击取消加载页面(左侧到 URL),选项卡中的加载器仍然存在,就像页面仍在加载中一样。

标签: laravel dompdf


【解决方案1】:

我个人也有问题。现在,我使用“https://github.com/barryvdh/laravel-snappy”,不知道在 v6 laravel 上是否有效。

【讨论】:

  • 谢谢,但这是标题的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 2019-11-12
  • 1970-01-01
  • 2023-04-09
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多