Télécharger textarea contenu d'un fichier à l'aide de Javascript (pas de serveur-côté)
Je me demande de faire un bouton "télécharger" qui télécharge le contenu d'un textarea sur la même page dans un fichier, avec le navigateur "Enregistrer sous" boîte de dialogue montrant vers le haut. Copier/coller pour faire le travail très bien, mais c'est une "exigence".
Maintenant, je suis en train de poster le contenu du textarea pour le serveur, ce qui les échos de retour avec Content-disposition: attachment
giflé sur. Est-il un moyen de le faire avec Javascript côté client?
Vous devez vous connecter pour publier un commentaire.
C'est peut être ce que vous cherchez:
http://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/
Il utilise le navigateur de dialogue de téléchargement, mais prend en charge uniquement les FF et Chrome, et peut-être de plus en plus de navigateurs maintenant?
Edit:
A fait observer que je vais intégrer le code de l'article:
Vous pouvez essayer de
window.location = "data:application/octet-stream,"+text
mais qui ne fournit pas un mécanisme à travers lequel vous pouvez suggérer un nom, et aussi IE a une très petite cap sur la longueur maximale des données URI qui pourrait être un problème.Il y avait certaines bibliothèques javascript qui fait ce genre de chose, par l'intermédiaire de petites fichier SWF intégré. Par exemple cette une.
J'ai trouvé une solution ici : http://www.codingforums.com/archive/index.php/t-181561.html
Espère que ça va aider.
Tout à fait possible à l'aide de cette croix navigateur JavaScript mise en œuvre de l'HTML5
saveAs
fonction: https://github.com/koffsyrup/FileSaver.jsSi tout ce que vous voulez faire est de sauvegarder le texte, le script ci-dessus fonctionne dans tous les navigateurs(y compris toutes les versions d'IE), pas de SWF nécessaire.
Il pourrait sera possible que par la création d'un cadre, d'écrire là, puis de l'appel d'
document.execCommand('saveas', ...)
dans IE et quelque chose avec nsIFilePicker dans Mozilla, mais je crois que aurait besoin d'un peu extraordinaire privilèges (comme faisant partie du navigateur lui-même).Basé sur @Cyrlop la réponse de https://stackoverflow.com/a/41948732/3096687, ce qui donne un moyen de spécifier un nom de fichier:
@Superphonic la solution est probablement mieux si vous n'avez pas l'esprit, y compris plus d'octets dans votre JavaScript.
Réponse courte: il n'est pas possible.
Vous devez POSTER pour le serveur, et la réponse du serveur peut être "Content-disposition: attachment".