Bonjour à tous,
je viens vers vous car je sèche...
Sur une page html j'ai 2 input de type 'file' ("bigFile" et "smallFile") qui ne sont pas dans un formulaire et un bouton qui appelle une fonction ("ajout()").
Voici ma fonction (les inputs ont été déclarés plus haut dans mon fichier) :
Le back-end reçoit bien la requête mais j'ai un souci avec multer. Voici le code du middleware :
A la sortie je me retrouve avec le chemin initial des images et non les fichiers renommés et rien ne s'upload.
Je me demande si le problème ne viendrait pas du fait que multer reçoit des 'String' au lieu de 'file' mais je ne suis pas sûr.
Qu'en pensez-vous ?
je viens vers vous car je sèche...
Sur une page html j'ai 2 input de type 'file' ("bigFile" et "smallFile") qui ne sont pas dans un formulaire et un bouton qui appelle une fonction ("ajout()").
Voici ma fonction (les inputs ont été déclarés plus haut dans mon fichier) :
function ajout() {
if (bigFile.value || smallFile.value) {
const head3 = {
method: 'POST',
body: JSON.stringify({'imageUrl1': bigFile.value, 'imageUrl2': smallFile.value}),
headers: {'Content-Type': 'application/json', 'Authorization': `Bearer ${sessionStorage.token}`}
}
fetch('http://localhost:4000/api/caroussel/', head3)
.then(reponse => {
if (reponse.status == 200) {
alert('Nouvelles images ajoutées avec succès !')
}
else {
return reponse.json({message: "Erreur"});
}
})
.catch(e => {
console.log("ça n'a pas marché...")
})
}
}
Le back-end reçoit bien la requête mais j'ai un souci avec multer. Voici le code du middleware :
const multer = require('multer');
const MIME_TYPES = {
'image/jpg': 'jpg',
'image/jpeg': 'jpg',
'image/png': 'png',
'image/bmp': 'bmp',
'image/webp': 'webp',
'image/tiff': 'tiff',
'image/gif': 'gif'
};
const storage = multer.diskStorage({
destination: (req, file, callback) => {
callback(null, 'images');
},
filename: (req, file, callback) => {
const name = file.originalname.split(' ').join('_').split('.')[0];
const extension = MIME_TYPES[file.mimetype];
callback(null, name + Date.now() + '.' + extension);
}
});
module.exports = multer({storage}).single('image');
A la sortie je me retrouve avec le chemin initial des images et non les fichiers renommés et rien ne s'upload.
Je me demande si le problème ne viendrait pas du fait que multer reçoit des 'String' au lieu de 'file' mais je ne suis pas sûr.
Qu'en pensez-vous ?