Dapatkan dan Buka Fail PDF Menggunakan Ajax
Untuk memuat turun dan memaparkan fail PDF yang dijana oleh kelas tindakan melalui Ajax, pendekatan berikut boleh digunakan:
Dalam kelas tindakan, pastikan jenis kandungan ditetapkan dengan betul sebagai "aplikasi/pdf" dan nama fail yang dikehendaki dinyatakan dalam atribut "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>
Dalam panggilan Ajax, konfigurasikan permintaan untuk mengendalikan respons strim dengan berkesan:
<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>
Dengan menggabungkan pendekatan ini, fail PDF yang dijana oleh kelas tindakan boleh dimuat turun dan dibuka dengan jayanya menggunakan Ajax.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun dan Buka Fail PDF yang Dijana oleh Kelas Tindakan Menggunakan Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!