Je développe une API RESTful pour une application client mobile avec la combinaison de Node.js, Express.js et Mongodb. Maintenant, j'essaie de gérer le téléchargement de l'image de profil utilisateur et j'ai trouvé un module appelé "multer" (qui est celui recommandé par l'équipe express.js elle-même) qui permet à express.app de gérer plusieurs parties/formulaire- demandes de données. Maintenant, je dois tester l'application et, en outre, la fonction de téléchargement, mais je ne suis pas en mesure de simuler une demande de formulaire http (via postman chrome). Multer renvoie cette erreur:
[Erreur: Multipart: limite non trouvée]
En fait, en comparant une demande de formulaire http (qui fonctionne) avec une demande http personnalisée, la seconde n'a pas la propriété d'en-tête Boundary.
Qu'est-ce que la propriété Boundary?
La limite sous une forme en plusieurs parties indique une chaîne de délimitation séparant le texte et les données binaires. Vous pouvez le faire dans postman, mais il semble que vous n'envoyez pas à la fois le fichier et le texte, donc postman peut être par défaut sous une forme régulière. voyez-vous quelque chose comme:
Si vous cliquez sur Aperçu dans Postman, vous pouvez voir la limite dans l'en-tête Content-type et dans le corps.
Si vous utilisez Postman, vous pouvez essayer de supprimer l'en-tête: "Content-type": "multipart/form-data". Je l'ai retiré et maintenant ça marche.
solutions:
1) ne spécifiez pas le content-type
Chez le client
2) utilisez la dénomination convention(imageUpload)
dans upload.single('imageUpload')
identique au nom du champ