Maison > Java > javaDidacticiel > le corps du texte

Comment puis-je télécharger un PDF généré par une classe d'action via Ajax ?

DDD
Libérer: 2024-11-01 23:01:29
original
507 Les gens l'ont consulté

How Can I Download a PDF Generated by an Action Class via Ajax?

Gestion des téléchargements PDF via Ajax : une solution

Lorsqu'un appel Ajax tente de télécharger un fichier PDF généré par une classe d'action, il peut rencontrez une erreur si le flux ne peut pas être transmis au navigateur. Pour résoudre ce problème, une approche différente est nécessaire.

Dans la classe d'action fournie, le fichier PDF est généré et son flux est configuré pour être téléchargé avec les en-têtes corrects. Cependant, l'appel Ajax doit être traité différemment pour faciliter le transfert.

Voici une solution qui a été implémentée avec succès :

<code class="javascript">$.ajax({
  url: '<URL_TO_FILE>',
  success: function(data) {
    var blob=new Blob([data]);
    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="<FILENAME_TO_SAVE_WITH_EXTENSION>";
    link.click();
  }
});</code>
Copier après la connexion

Dans ce code, l'appel Ajax récupère le fichier PDF flux en tant que variable de données. Il crée ensuite un objet Blob à partir des données. Un nouvel élément de lien est créé et son href est défini sur l'URL du Blob. L'attribut de téléchargement est défini sur le nom de fichier souhaité avec l'extension appropriée. Enfin, on clique sur le lien pour lancer le processus de téléchargement.

Cette approche s'est avérée efficace pour transmettre les fichiers PDF générés par la classe d'action au navigateur pour téléchargement, permettant une intégration transparente entre le serveur et le client.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal