希望你一切都好
你会看到,我面临着一个问题,我不确定是否可以做到
我正在一个项目中,PHP 后端已经配置为根据定义的路由调用方法,例如:
http://backend/app1/operation1
后端只能接收 JSON 格式的参数,并且它将始终返回 JSON 和结果(我为此使用 AJAX)
这将调用操作 1 功能,并将返回 JSON 和结果
问题是,网站的模块之一必须显示 PDF 文件,能够查看或下载它
我还没有找到任何方法以 JSON 返回 PDF 文件...不确定是否可以对它们进行编码,然后解码它们以重新创建它们或类似的东西
由于每次我指向服务器,后端都会重新引导我,我无法直接从他们的位置下载
注意:我无法修改后端当前配置(始终是JSON输入和输出)
提前致谢,希望您能帮助我
首先,这不是一个好的选择,细节@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 代码集成到您的应用程序中。