20. Téléchargement de fichiers avec Multer dans NodeJS

Página 121

L'une des fonctionnalités les plus importantes de nombreuses applications Web modernes est la possibilité de télécharger des fichiers. Qu'il s'agisse de permettre aux utilisateurs de partager des images, de télécharger des documents ou de fournir d'autres types de fichiers, le téléchargement de fichiers est une fonctionnalité clé pour de nombreux projets. Dans le chapitre 20 de notre ebook, nous explorerons comment implémenter cette fonctionnalité dans NodeJS à l'aide de la bibliothèque Multer.

Multer est un middleware pour Express et Node.js qui facilite la gestion des données multipart/form, utilisées pour le téléchargement de fichiers. Il est efficace et facile à utiliser, ce qui en fait le choix idéal pour cette tâche.

Installation de Multer

Pour commencer, nous devons installer Multer dans notre projet. Cela peut être fait en utilisant npm (Node Package Manager), qui est le moyen standard d'installer des bibliothèques et des packages dans NodeJS. Ouvrez le terminal dans le dossier de votre projet et tapez la commande suivante :

npm install --save mult

Cela installera Multer et l'ajoutera en tant que dépendance dans votre fichier package.json.

Configuration Multer

Une fois installé, nous devons configurer Multer. Tout d'abord, importons-le dans notre fichier :

const multer = require('multer');

Ensuite, nous devons configurer l'emplacement de stockage des fichiers téléchargés. Cela se fait en créant une instance de multer et en lui transmettant un objet de configuration. Voici un exemple :

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

Dans l'exemple ci-dessus, nous demandons à Multer de stocker les fichiers téléchargés dans le dossier « téléchargements » de notre projet.

Télécharger des fichiers

Une fois Multer configuré, nous sommes prêts à commencer à accepter les téléchargements de fichiers. Pour ce faire, nous devons ajouter le middleware Multer aux routes sur lesquelles nous souhaitons accepter les téléchargements.

Par exemple, si nous avons une route POST vers « /upload », nous pourrions faire quelque chose comme ceci :

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

Dans l'exemple ci-dessus, « fichier » est le nom du champ dans le formulaire de téléchargement de fichier. La méthode 'upload.single' indique à Multer d'accepter un seul fichier du champ 'file'. Lorsqu'un fichier est téléchargé, il est stocké dans la destination que nous avons configurée et l'objet de requête est modifié pour inclure un objet fichier contenant des informations sur le fichier téléchargé.

Gestion des erreurs

Il est important de gérer les erreurs possibles qui peuvent survenir lors du téléchargement de fichiers. Multer ajoute une erreur à la demande si quelque chose ne va pas. Nous pouvons le vérifier et répondre en conséquence :

app.post('/upload', upload.single('file'), (req, res) => { si (req.fileValidationError) { return res.status(400).send(req.fileValidationError); } res.send('Fichier téléchargé avec succès !'); });

Dans l'exemple ci-dessus, s'il y a une erreur de validation de fichier, nous la renvoyons dans la réponse avec un statut de 400. Sinon, nous envoyons un message de réussite.

Conclusion

Ce n'est que la pointe de l'iceberg en ce qui concerne les téléchargements de fichiers NodeJS avec Multer. Il existe de nombreuses autres options et fonctionnalités que vous pouvez explorer, telles que la limitation de la taille des fichiers téléchargés, l'acceptation de plusieurs fichiers à la fois et bien plus encore. Cependant, avec ce que nous avons appris dans ce chapitre, vous disposez déjà d'une base solide pour commencer à accepter les téléchargements de fichiers dans vos applications NodeJS.

Maintenant que vous savez comment télécharger des fichiers dans NodeJS à l'aide de Multer, vous êtes prêt à ajouter cette fonctionnalité importante à vos projets. N'oubliez pas de toujours tester soigneusement votre code et de gérer les bugs potentiels pour garantir aux utilisateurs une expérience fluide et sans problème.

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

Quelle est la fonction de la bibliothèque Multer dans les applications NodeJS ?

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

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

12221. Introduction à Socket.IO

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