2017-10-20 18 views
0

Je peux télécharger des images mais si je dois éditer ma page où parfois je n'ai pas besoin de télécharger une image plus récente, comment procéder?Vérifiez si l'image est soumise ou non en utilisant node.js et multer

Je vérifie en utilisant le code ci-dessous mais chaque fois qu'il me donne "non défini".

router.post('/update/:id', function(req, res, next) { 

    var Storage = multer.diskStorage({ 
     destination: function (req, file, callback) { 
      callback(null, "./uploads/images"); 
     }, 
     filename: function (request, file, callback) { 
      callback(null, file.originalname); 
     } 
     }); 

    upload(req, res, function (err) { 
     if (typeof req.files.image !== "undefined") { 
     // code 
     } else if (typeof req.files.image === "undefined") { 
     // code 
     } 

    home.update(req.files[0].path, req.body.input_field_name, req.params.id); 
     req.flash('edit', 'Updated.'); 
     res.redirect('edit/' + req.params.id); 
    }); 

    }); 

Une aide?

Solution

upload(req, res, function (err) { 
    if (typeof req.files !== 'undefined' && req.files.length > 0) { 
     //code 
    } else { 
     //code 
    } 
}); 
+0

Pourriez-vous donner un peu plus de contexte? – Hartger

+0

@Hartger J'ai inclus le code complet. Vérifiez s'il vous plaît. Fondamentalement, je veux vérifier si je télécharge n'importe quelle image ou pas. Dans les deux cas, le code doit fonctionner. –

+0

qu'est-ce que console.log (req.files) produit pour vous? Peut-être que vérifier la longueur de req.files fonctionnerait. Utilisez-vous bodyparser btw? – Hartger

Répondre

0
if (typeof req.query.image !== "undefined") { 
     // code 
     console.log("File is uploaded"); 
     } else if (typeof req.query.image === "undefined") { 
     // code 
     console.log("File is not uploaded"); 
     } 

// si vous utilisez après utilisez - req.body.image

+0

Son me donnant: "TypeError: Impossible de lire la propriété 'image' de undefined". –

+0

Installez - 'npm install --save body-parser' puis ajoutez ces lignes dans le code - var bodyParser = require ("body-parser"); var app = express(); app.use (bodyParser.json()); –

+0

tout cela est fait. pourtant, pas de chance. –