首页 > Java > java教程 > 正文

如何通过Ajax下载Action类生成的PDF?

DDD
发布: 2024-11-01 23:01:29
原创
426 人浏览过

How Can I Download a PDF Generated by an Action Class via Ajax?

通过 Ajax 处理 PDF 下载:解决方案

当 Ajax 调用尝试下载由操作类生成的 PDF 文件时,它可能会如果无法将流传送到浏览器,则会遇到错误。要解决此问题,需要采用不同的方法。

在提供的操作类中,生成 PDF 文件,并设置其流以使用正确的标头进行下载。然而,Ajax 调用需要以不同的方式处理,以方便传输。

这是一个已成功实现的解决方案:

<code class="javascript">$.ajax({
  url: '<URL_TO_FILE>',
  success: function(data) {
    var blob=new Blob([data]);
    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="<FILENAME_TO_SAVE_WITH_EXTENSION>";
    link.click();
  }
});</code>
登录后复制

在此代码中,Ajax 调用检索 PDF 文件流作为数据变量。然后它根据数据创建一个 Blob 对象。将创建一个新的链接元素,并将其 href 设置为 Blob 的 URL。下载属性设置为具有适当扩展名的所需文件名。最后,单击链接即可启动下载过程。

事实证明,这种方法可以有效地将操作类生成的 PDF 文件传递​​到浏览器进行下载,从而实现服务器和客户端之间的无缝集成。

以上是如何通过Ajax下载Action类生成的PDF?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!