Maison >interface Web >js tutoriel >Comment puis-je télécharger des fichiers avec des noms de fichiers personnalisés à l'aide d'URI de données ?

Comment puis-je télécharger des fichiers avec des noms de fichiers personnalisés à l'aide d'URI de données ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 05:22:17215parcourir

How Can I Download Files with Custom Filenames Using Data URIs?

Téléchargement de fichiers avec des noms de fichiers personnalisés à l'aide d'URI de données

Les URI de données offrent un moyen pratique d'intégrer des données dans des pages Web. Cependant, lors du téléchargement de données à partir d'un URI de données, les navigateurs demandent généralement à l'utilisateur un nom de fichier. Est-il possible de fournir un nom de fichier suggéré dans le balisage ou d'implémenter une solution JavaScript ?

L'attribut de téléchargement

Les navigateurs modernes prennent en charge l'attribut "download" pour l'ancre () éléments. Cet attribut vous permet de spécifier un nom de fichier suggéré pour le fichier téléchargé.

<a download="FileName" href="data:application/octet-stream;base64,SGVsbG8=">
  Download
</a>

Cette solution fonctionne sur Chrome, Firefox, Edge, Opera, Safari 10 de bureau, iOS Safari 13, mais pas IE11.

Solution JavaScript

Si l'attribut "download" n'est pas pris en charge, vous pouvez utiliser un JavaScript solution :

const link = document.createElement("a");
link.setAttribute("href", "data:application/octet-stream;base64,SGVsbG8=");
link.setAttribute("download", "FileName");
link.click();

Ce code crée un élément d'ancrage, définit les attributs "href" et "download", puis simule un événement de clic pour déclencher le téléchargement.

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