Utilisez NodeJS pour télécharger un fichier dans un appel API
Je suis à la recherche à l'aide de NodeJS pour agir en tant que serveur pour construire une API.
Idéalement, j'aimerais qu'il existe une API de point de terminaison pour envoyer un ensemble de renseignements ainsi qu'un fichier qui peut être enregistré dans le système de fichiers.
La plupart des exemples que j'ai vu sont pour envoyer un fichier via un formulaire, mais j'aimerais le faire à travers une requête post.
Personne ne sait comment je pourrait le faire (si c'est possible)?
À l'instant ce que j'aimerais accomplir est quelque chose le long des lignes suivantes:
app.post('/Some/Endpoint/', controller.handleSomeEndpoint, function(request, response) {
response.send('Finished Request');
});
exports.handleSomeEndpoint = function(request, response, next) {
var bodyarr = []
request.on('data', function(chunk){
bodyarr.push(chunk);
})
request.on('end', function(){
console.log( bodyarr.join('') );
})
}
Mais les données et de ne jamais être appelé si je lance une commande curl le long des lignes de:
curl http://127.0.0.1:5000/Some/Endpoint/-F 'test=@test_file'
Cheers,
Matt
source d'informationauteur Gaunt Face
Vous devez vous connecter pour publier un commentaire.
La réponse semble être que expressJS n'utilise pas la même méthode de gestion d'un poste de fichier http module nodejs.
Tout ce qui était nécessaire, y compris un répertoire pour les fichiers à graver:
Que j'ai trouvé ici:
http://www.hacksparrow.com/handle-file-uploads-in-express-node-js.html
Je vous suggère d'utiliser Formidable pour éviter anonyme du téléchargement du fichier.
Votre code devrait fonctionner correctement; c'est la boucle d'utilisation, c'est faux. Essayez plutôt ceci: