Comment télécharger de la chaîne en tant que fichier avec jQuery ou autre framework js
À l'aide de javascript, j'ai un fichier en chaîne (obtenu avec une requête ajax).
Comment télécharger en tant que fichier au serveur par un autre requête ajax ?
Veuillez préciser: avez-vous un chemin d'accès au fichier sous forme de chaîne ou vous avez un contenu de fichier as string et que vous souhaitez l'ai téléchargé en tant que fichier?
Il se lit comme il a le contenu du fichier dans une chaîne de caractères, qu'il a obtenu à partir d'une requête ajax.
Il se lit comme il a le contenu du fichier dans une chaîne de caractères, qu'il a obtenu à partir d'une requête ajax.
OriginalL'auteur Romka | 2010-06-10
Vous devez vous connecter pour publier un commentaire.
Vous devez définir la
Content-type
en-tête de demandemultipart/form-data
et de jouer avec le format un peu, J'ai écrit ce dans la Plaine Ol' JavaScript (tm), mais vous pouvez facilement retravailler pour une bibliothèque:EDIT: a mon café maintenant, alors modifié pour jQuery (pas-de version de bibliothèque ici):
Est sûr. Pratique si vous n'avez pas de contrôle sur le serveur que vous avez téléchargées et il A accepter un fichier texte posté avec multipart/form-data.
Cela a fonctionné, à l'exception de deux ajustements de travailler avec express/node: 1) la dernière limite doit être
+ '--'+boundary+ '--';
et aussi le contentType dans l'appel ajax doit être:"multipart/form-data; boundary="+boundary
ceci est également nécessaire pour les Rails. Merci, vous venez de m'a sauvé quelques heures de débogage
OriginalL'auteur Andy E
Voici comment le faire sans créer manuellement le multi-partie du corps de la requête:
Est objet FormData de la croix-navigateur compatible?
Je suis l'aide de Dropzone, mais cela fonctionne pour convertir une chaîne de caractères dans un fichier à télécharger("nouveau Fichier([nouveau Blob([s])], le nom de fichier)").
OriginalL'auteur Thomas Cort