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