Faire des trucs avec plusieurs fichiers lors du téléchargement d'eux l'aide d'un noeud-formidable avec Express
Le téléchargement de fichiers avec nœud-formidable sur Express est aussi simple que cela
app.post('/upload', function(req, res) {
//do something with req.files
});
Les fichiers sont enregistrés
La forme: (multiple="multiple" est une fonctionnalité HTML5 qui permet aux utilisateurs de sélectionner plusieurs fichiers à télécharger)
<form method="post" enctype="multipart/form-data" action="upload">
<input type="text" name="title"/>
<input type="file" name="upload" multiple="multiple"/>
<input type="submit" value="upload" id="s3form_submit"/>
</form>
Si j'ajoute cette ligne dans le code de chargement de
console.log(req.files.upload.path);
Lorsque le téléchargement d'un fichier, le chemin d'accès s'affiche dans la console. Mais quand je l'ai télécharger plus d'un fichier, il est seulement dit pas défini dans la console.
Comment puis-je obtenir les logs pour chaque fichier? À l'aide d'une boucle for?
Le nœud-formidable exemple sur GitHub dans les journaux pour chaque fichier lors de l'upload de plusieurs: https://github.com/felixge/node-formidable/blob/master/example/upload.js (j'ai essayé en utilisant ce code dans l'Express, n'a pas fonctionné)
C'est exactement ce que je veux, mais comment puis-je le faire dans un Express app?
Vous devez vous connecter pour publier un commentaire.
Il fonctionne en déplaçant la ligne ci-dessous en bas de l'application.configurer la fonction. Lisez à propos de l'importance de l'ordre concernant middleware dans l'Express ici: http://expressjs.com/guide.html#middleware
Et par l'utilisation de cette fonction:
Merci Ryan!
Donc
req.files
pourrait être un tableau. Essayez de faireconsole.log(req.files)
dans le gestionnaire et voir à quoi ça ressemble... Mais je pense que vous feriez mieux de le faire juste comme dans l'exemple. Vous pouvez l'obtenir pour fonctionner en supprimant simplement les../test/common
nécessitent en haut et en changeant les constantes pour les valeurs statiques (par exemple, au lieu deTEST_TMP
utilisation__dirname + '/uploads'
).Le gestionnaire:
Les fichiers sont maintenant en
__dirname + '/uploads'
nommé par la sortie sur la console (et de la réponse, comme vous pouvez le voir dans laend
gestionnaire).