是否可以使用 PHP 将 PDF 文件编码为 JSON,然后使用 AJAX 返回?怎么办?

问题描述 投票:0回答:1

希望你一切都好

你会看到,我面临着一个问题,我不确定是否可以做到

我正在一个项目中,PHP 后端已经配置为根据定义的路由调用方法,例如:

http://backend/app1/operation1

后端只能接收 JSON 格式的参数,并且它将始终返回 JSON 和结果(我为此使用 AJAX)

这将调用操作 1 功能,并将返回 JSON 和结果

问题是,网站的模块之一必须显示 PDF 文件,能够查看或下载它

我还没有找到任何方法以 JSON 返回 PDF 文件...不确定是否可以对它们进行编码,然后解码它们以重新创建它们或类似的东西

由于每次我指向服务器,后端都会重新引导我,我无法直接从他们的位置下载

注意:我无法修改后端当前配置(始终是JSON输入和输出)

提前致谢,希望您能帮助我

php ajax pdf backend
1个回答
0
投票

首先,这不是一个好的选择,细节@M。埃里克森已经解释过了。

如果您愿意,请查看:

// PHP code
$binaryData = file_get_contents('./path/to/file.pdf');
$base64String = base64_encode($binaryData);
$response = array( 'status'=> true, 'pdfData' => $base64String);
echo json_encode($response);

对于 javascript 部分

<a id="saveBtn">Save pdf</a>
<script>
    var pdfBase64String = ajaxResponse['pdfData'];
    var btn = document.getElementById('saveBtn');
    btn.setAttribute('href', 'data:application/pdf;base64,' + pdfBase64String);
</script>

您可能需要将 PHP 和 JS 代码集成到您的应用程序中。

© www.soinside.com 2019 - 2024. All rights reserved.