首頁  >  文章  >  Java  >  如何使用 Ajax 下載並開啟 Action 類別產生的 PDF 檔案?

如何使用 Ajax 下載並開啟 Action 類別產生的 PDF 檔案?

Susan Sarandon
Susan Sarandon原創
2024-10-30 20:20:30541瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn