Maison > Java > javaDidacticiel > Comment puis-je télécharger et ouvrir des fichiers PDF générés par une classe d'action à l'aide d'Ajax ?

Comment puis-je télécharger et ouvrir des fichiers PDF générés par une classe d'action à l'aide d'Ajax ?

Susan Sarandon
Libérer: 2024-10-30 20:20:30
original
688 Les gens l'ont consulté

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

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>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal