7.11. Travailler avec des routes dans ExpressJS : Travailler avec des téléchargements de fichiers dans des routes

Página 57

ExpressJS est un framework minimaliste et flexible pour Node.js qui fournit un ensemble robuste de fonctionnalités pour la création d'applications Web et mobiles. L'une des fonctionnalités les plus puissantes offertes par ExpressJS est la possibilité de définir et d'utiliser des itinéraires. Dans ce chapitre, nous nous concentrerons sur la façon de travailler avec les téléchargements de fichiers dans les routes à l'aide d'ExpressJS.

Travailler avec les téléchargements de fichiers est une tâche courante dans les applications Web. Qu'il s'agisse de permettre aux utilisateurs de télécharger des photos de profil, des documents ou tout autre type de fichier, vous devrez à un moment donné gérer les téléchargements de fichiers. Heureusement, ExpressJS rend cela relativement simple.

Configuration du middleware

Avant de pouvoir commencer à accepter les téléchargements de fichiers, nous devons configurer un middleware pour les traiter. Le middleware est une fonction qui a accès à l'objet de requête (req), à l'objet de réponse (res) et à la fonction middleware suivante dans le cycle requête/réponse de l'application.

Pour gérer les téléchargements de fichiers, nous allons utiliser un package appelé 'multer'. Multer est un middleware node.js pour gérer les « multipart/form-data » qui sont utilisés pour le téléchargement de fichiers. Il est très simple à utiliser et bien documenté. Pour commencer, vous devez l'installer dans votre projet :

npm install --save mult

Une fois installé, vous pouvez le demander dans votre application et configurer un emplacement pour stocker les fichiers téléchargés :

const multer = exiger('multer') const upload = multer({ dest : 'uploads/' })

Ici, nous demandons à Multer de stocker les fichiers téléchargés dans le dossier « téléchargements » de notre répertoire racine.

Définir l'itinéraire

Une fois Multer configuré, nous pouvons désormais définir une route pour accepter les téléchargements de fichiers. Définissons une route POST dans '/upload' qui accepte un seul fichier :

app.post('/upload', upload.single('file'), (req, res) => { res.send('Fichier envoyé avec succès.') })

Dans l'itinéraire ci-dessus, 'upload.single('file')' est un middleware qui traite le téléchargement. « fichier » est le nom du champ du formulaire qui contient le fichier. La fonction de rappel est appelée une fois le fichier chargé avec succès.

Travailler avec des fichiers téléchargés

Une fois qu'un fichier est téléchargé, vous pouvez accéder aux données du fichier via l'objet 'req.file'. Cet objet contient des informations utiles telles que le nom du fichier d'origine, le nom du fichier sur le serveur, le type de fichier et la taille du fichier.

Vous pouvez utiliser ces informations pour valider le fichier, le renommer, le déplacer ou faire tout ce dont vous avez besoin. Voici un exemple de la façon dont vous pouvez renommer le fichier à l'aide du module 'fs' de Node.js :

const fs = exiger('fs') app.post('/upload', upload.single('file'), (req, res) => { fs.rename(req.file.path, 'uploads/' + req.file.originalname, err => { if (err) return res.send('Erreur de renommage du fichier.') res.send('Fichier envoyé et renommé avec succès.') }) })

Dans cet exemple, nous renommeons le fichier avec son nom d'origine. S'il y a une erreur en renommant le fichier, nous envoyons un message d'erreur. Sinon, nous envoyons un message de réussite.

Conclusion

Travailler avec les téléchargements de fichiers dans ExpressJS est simple et direct. Avec le middleware Multer, vous pouvez facilement accepter les téléchargements de fichiers, accéder aux informations sur les fichiers téléchargés et manipuler ces fichiers selon vos besoins. Ceci n'est qu'un exemple simple de ce que vous pouvez faire avec les téléchargements de fichiers dans ExpressJS. La capacité d'accepter et de traiter les téléchargements de fichiers est une compétence essentielle pour tout développeur Web et n'est que l'une des nombreuses fonctionnalités puissantes offertes par ExpressJS.

Répondez maintenant à l’exercice sur le contenu :

Quelle est la fonction du middleware « multer » dans ExpressJS et comment est-il utilisé pour gérer les téléchargements de fichiers ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

587.12. Travailler avec des routes dans ExpressJS : Travailler avec l'authentification JWT sur les routes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte