0
votes

Télécharger et déplacer le problème avec Express-Filedupload

j'ai ce fichier / structure de dossier: xxx

afin de déplacer une image spécifique que j'ai utilisé module express-filedupload < /EM>.

Je veux que toutes les images soient dans / Public / ProduitsImg / Dossier. Voir ce qui précède pour la structure de dossier / fichier.

in produits.js j'ai écrit le code suivant: xxx

i avoir cette erreur dans la console Nodemon: Post / Produits / Store 500 9.733 MS - 16104

Je pense que je n'utilise peut-être pas correctement le chemin .Resolve PARTIE ET ​​MA UPLODPATH Variable (fichier) est inconnu, je pense.

avez vu d'autres postes, je ne pouvais pas le comprendre. Des idées?


6 commentaires

Essayez d'utiliser chemin.join (__ dirname, '../public/productsimg/' + image.name)


Essayé. Ça ne marche pas!


Quelle est la sortie du journal de __ dirname ??


@Nasiruddinsai n'est rien ...! Je suis confus...


Avez-vous déclaré app.use (Filedupload ()); dans votre serveur Express ?? Il est nécessaire d'appeler comme par exemple Github.com/Richardgirges/express-fileupload/ Arbre / Master / Examin Ple


@NASIRUDDINSAYED Oui j'ai app.utilisez (Filedupload ()) ;!


3 Réponses :


-1
votes

HIE, dans Express-Filedupload Vous accédez à l'image via l'attribut Nom, vous pourriez donc envisager de changer

var image = req.files

à

var image = req.files.Image

espère qu'il aide


1 commentaires

req.files est un objet avec une valeur clé différente. Si j'écris var image = req.files.Image the Image.MV ne sera pas disponible !!! Quoi qu'il en soit, j'ai essayé votre code que cela ne fonctionne pas. ty de partage.



0
votes

Peut-être peut-être peut-être aider quelqu'un: solution

1) strong> ajouté Var Chemier = requis ('Path'); code> dans le produit.js eventhough j'ai ajouté cela dans mon application Il est important, sinon cela ne fonctionnera pas. P>

2) strong> créé / TMP / dossier (racine de votre projet) et ajoutez ceci dans l'application p>

var { image } = req.files;

var uploadPath = path.resolve(__dirname, '../public/productsImg/', image.name); // important

console.log(uploadPath);

image.mv(uploadPath, (err) => {

  if (err) {
    return res.status(500).send(err);
  }

  res.send('File uploaded to ' + uploadPath);
  //or whatever you want to do

});


0 commentaires

0
votes

Selon votre exemple, votre objet de fichier doit être dans Req.Files.Image. Voir Documeunation Express-Filedupload:

Exemple:

  • Vous téléchargez un fichier appelé car.jpg
  • Le champ Nom de votre entrée est FOO:
  • Dans votre demande de serveur Express, vous pouvez accéder à votre fichier téléchargé de req.files.foo: xxx

0 commentaires