43 votes

Enregistrer le fichier Javascript avec le nom du fichier

Je travaille sur un éditeur de texte en Javascript pur. J’aimerais que lorsque l’utilisateur clique sur le bouton « Enregistrer », l’éditeur télécharge le fichier. J’ai déjà en partie cela qui fonctionne:

Le fichier se télécharge, mais le problème est que le fichier est nommé 'download'.

Question: Comment puis-je changer le nom du fichier pour qu’il soit ce que je veux, par exemple `` ?

27voto

Arthur Clemens Points 831

Remplacez votre bouton « Enregistrer » par un lien d’ancrage et définissez le nouvel `` attribut de manière dynamique. Fonctionne dans Chrome et Firefox:

Voici un exemple de travail avec le nom défini comme date actuelle : http://jsfiddle.net/Qjvb3/

Voici une table de compatibilité pour `` l’attribut : http://caniuse.com/download

19voto

Reddy Points 1
function saveAs(uri, filename) {
    var link = document.createElement('a');
    if (typeof link.download === 'string') {
        document.body.appendChild(link); // Firefox requires the link to be in the body
        link.download = filename;
        link.href = uri;
        link.click();
        document.body.removeChild(link); // remove the link when done
    } else {
        location.replace(uri);
    }
}

7voto

James Hill Points 27532

Utilisez la `` propriété comme ceci :

ÉDITER:

Apparemment, il n’y a pas de moyen fiable de le faire. Voir : Existe-t-il un moyen de spécifier un nom de fichier suggéré lors de l’utilisation de données : URI ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X