【发布时间】:2019-09-09 10:25:00
【问题描述】:
我正在使用DynamicPDF,并且我正在新选项卡中打开我的文件以生成我的文件,该文件运行得非常好。这是我到目前为止所拥有的(在我的插件的update.htm 文件之一中)。
<a href="<?= url('/'); ?>/regency-brochure" class="btn btn-primary" target="_blank">Preview Brochure</a>
现在我试图通过 AJAX 响应打开/下载相同的文件以某种方式做同样的事情。因此,我将以下代码放入了我的 update.htm 文件中。
<button
type="submit"
data-request="onPreview"
data-load-indicator="Loading Preview"
class="btn btn-primary">Preview Brochure Ajax
</button>
在我的控制器内部我已经做到了。
public function onPreview()
{
return PDF::loadTemplate('renatio::invoice')->download('download.pdf');
}
现在只要我点击它,我的浏览器就会被挂起,但我可以在我的响应中看到一些随机的二进制长字符串。
我已经检查并阅读了图书馆的文档,他们给出了一个提示...
提示:通过 Ajax 响应下载 PDF
OctoberCMS ajax 框架无法处理此类响应。
推荐的方法是将PDF文件保存在本地,然后返回重定向到PDF文件。
我尝试使用return 打开/下载,但它不起作用。
有人可以指导我如何解决这个问题吗?如何在此处使用 AJAX 打开/下载我的 PDF 文件?
【问题讨论】:
标签: php octobercms octobercms-plugins octobercms-backend dynamicpdf