Maison  >  Article  >  Java  >  Comment télécharger et ouvrir des fichiers PDF à l’aide d’Ajax ?

Comment télécharger et ouvrir des fichiers PDF à l’aide d’Ajax ?

DDD
DDDoriginal
2024-10-31 02:14:29203parcourir

How to Download and Open PDF Files Using Ajax?

Résoudre les problèmes de téléchargement et d'ouverture de PDF à l'aide d'Ajax

Dans le développement Web, permettre aux utilisateurs de télécharger et d'ouvrir des fichiers PDF via un appel Ajax peut être un défi. Explorons une solution qui résout ce problème.

Dans la classe d'action fournie (MyAction), un fichier PDF est généré et son flux est affecté à inputStream. Pour transmettre ce flux au navigateur, l'appel Ajax suivant peut être utilisé :

<code class="javascript">$.ajax({
    type: "POST",
    url: url,
    data: wireIdList,
    cache: false,
    success: function(response) {
        var blob = new Blob([response]);
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = "<FILENAME_TO_SAVE_WITH_EXTENSION>";
        link.click();
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert('Error occurred while opening fax template' 
              + getAjaxErrorString(textStatus, errorThrown));
    }
});</code>

Cet appel Ajax mis à jour utilise les méthodes Blob() et createObjectURL() pour créer un fichier téléchargeable pour le navigateur. L'élément link est utilisé pour déclencher le processus de téléchargement et l'attribut download spécifie le nom de fichier sous lequel enregistrer le PDF.

En implémentant cette solution, votre appel Ajax téléchargera et ouvrira avec succès le fichier PDF généré dans le navigateur.

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:
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