Comment envoyer des fichiers avec superagent
Donc il y a un mois j'ai demandé à une question concernant superagent et l'envoi de fichiers, mais n'a obtenu aucune réponse du tout. Je voudrais savoir comment faire car j'apprécie superagent.
Je suis capable d'envoyer des fichiers à l'aide de la plaine de l'ajax:
var fd = new FormData();
fd.append( 'file', this.refs.File.getDOMNode().files[0] );
$.ajax({
url: 'http://localhost:8080/files',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log(data)
}
});
Mais lorsque je tente la même chose dans superagent, rien ne fonctionne:
var fd = new FormData();
fd.append( 'file', this.refs.File.getDOMNode().files[0] );
Request.post('http://localhost:8080/files')
.set('Content-Type', false)
.set('Process-Data', false)
.attach('file', fd, 'file')
.end((err, res) => {
console.log(err);
console.log(res);
})
Quelqu'un peut-il, s'il vous plaît, dites-moi ce qui se passe.
OriginalL'auteur Julien Vincent | 2015-07-31
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner.
attach
ne peut être utilisé côté serveur. Vous devez spécifier le chemin d'accès du fichier en tant que second paramètre, et le navigateur ne peut pas accéder au système de fichiers.votre commentaire est trompeur. "attacher" fonctionne parfaitement bien sur le frontal de côté. J'ai simplement utilisé "joindre" pour télécharger des fichiers sur un de mes projets. Théoriques de la mise en œuvre est très bien expliqué ici: abandonner.ie/notebook/simple-fichier-téléchargements-using-jquery-ajax.
my bad, j'étais confus que le lien n'avait rien à voir avec le commentaire et jusqu'à hier, superagent attacher+progrès n'est pas le travail dans le navigateur. huzzah pour le progrès 🙂
Une autre chose à noter:
.attach
envoie le fichier en tant que multi-partie. Qui travaille pour le web-serveurs, mais si le téléchargement de S3 ou autre objet de magasins, vous aurez besoin d'envoyer des fichiers comme.send(file)
.OriginalL'auteur Codrin Iftimie
Joindre devrait fonctionner.
Exemple d'utilisation de l'express/multer:
client:
serveur:
Pour moi, cela fonctionne bien. Sur le serveur, j'ai utilisé async-aide-serveur pour analyser les multiforme de données.
OriginalL'auteur Hosar