所以我开发了一个 API,其中一个端点是一个报告生成器。通常他们会发送报告名称和一些其他变量,然后使用 Laravel-Snappy 弹出 PDF 文件。 .
我也在用 JWT-Auth用于身份验证。由于我需要符合 HIPAA 标准,因此我将在每次通话时刷新 token 。对于大多数端点来说,这很容易,因为我只是将它添加到我的 json 响应的元数据中。
但是,对于报告,他们只返回带有标题的 PDF 以强制下载等。有没有一种方法可以让我将 PDF 数据作为 JSON 响应的一部分发送,以便应用程序访问此 API 可以使用?我是否可能需要以某种方式对其进行加密,以便它可以通过 json 响应发送?对于任何思路的任何其他想法,我们将不胜感激。
最佳答案
从来不需要亲自这样做,但我在 API 中看到的方式是读取文件内容、base64 编码并在 json 响应中提供它。
快速代码
$pdf = base64_encode(file_get_contents('path/to/my.pdf'));
return response()->json([
'pdf' => $pdf,
]);
然后用户可以这样使用它。
$pdf = base64_decode($json->pdf);
file_put_contents('path/to/save/my.pdf', $pdf);
然后您应该能够正常打开/读取保存的文件。
关于php - Laravel 5.2 - 如何返回 PDF 作为 JSON 响应的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36201927/