Récupérer et ouvrir des fichiers PDF à l'aide d'Ajax
Pour télécharger et afficher un fichier PDF généré par une classe d'action via Ajax, l'approche suivante peut être utilisé :
Dans la classe d'action, assurez-vous que le type de contenu est correctement défini sur "application/pdf" et que le nom de fichier souhaité est spécifié dans l'attribut "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>
Dans l'appel Ajax, configurez la requête pour gérer efficacement la réponse du flux :
<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>
En incorporant cette approche, le fichier PDF généré par la classe d'action peut être téléchargé et ouvert avec succès à l'aide d'Ajax.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!