首页 > Java > java教程 > 正文

如何使用 Ajax 下载并打开 Action 类生成的 PDF 文件?

Susan Sarandon
发布: 2024-10-30 20:20:30
原创
557 人浏览过

How Can I Download and Open PDF Files Generated by an Action Class Using Ajax?

使用 Ajax 检索并打开 PDF 文件

要通过 Ajax 下载并显示由操作类生成的 PDF 文件,以下方法可以使用:

在操作类中,确保内容类型正确设置为“application/pdf”,并在“contentDisposition”属性中指定所需的文件名:

<code class="java">public String execute() {
    ...
    ...
    File report = signedPdfExporter.generateReport(xyzData, props);

    inputStream = new FileInputStream(report);
    contentDisposition = "attachment=\"" + report.getName() + "\"";
    contentType = "application/pdf";
    return SUCCESS;
}</code>
登录后复制

在 Ajax 调用中,配置请求以有效处理流响应:

<code class="javascript">$.ajax({
    type: "POST",
    url: url,
    data: wireIdList,
    cache: false,
    success: function(data) {
        // Convert the response data to a Blob object
        var blob = new Blob([data]);
        // Create a link element to trigger the download
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        // Set the desired file name for download
        link.download = "filename_with_extension.pdf";
        // Simulate a click event to initiate the download
        link.click();
        // Remove the Blob URL once the download completes
        window.URL.revokeObjectURL(blob);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert('Error occurred while opening fax template' + getAjaxErrorString(textStatus, errorThrown));
    }
});</code>
登录后复制

通过合并此方法,可以使用 Ajax 成功下载并打开由操作类生成的 PDF 文件。

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

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