node.js
  • file-upload
  • multer
  • 2017-02-07 3 views 1 likes 
    1

    J'essaye de télécharger des images avec Multer dans Node.js. Quand je console.log (req.files) il donne indéfini. Qu'est-ce qui ne va pas ici?Pourquoi le téléchargement de fichiers avec Multer ne fonctionne pas ici?

    <form class="form-horizontal" enctype='multipart/form-data' action="/admin/addNewFood" method="post"> 
    
         <div class="form-group"> 
          <label for="image" class="col-sm-2 control-label">Choose Image</label> 
          <div class="col-sm-3"> 
           <span class="btn btn-default btn-file btn-xs"> 
             Browse <input type="file" name="fileUpload"> 
           </span> 
          </div> 
    
         </div> 
         <div class="form-group"> 
          <div class="col-sm-offset-2 col-sm-10"> 
           <input type="hidden" name="_csrf" value="{{ csrfToken }}"> 
           <button type="submit" class="btn btn-default">Add</button> 
          </div> 
         </div> 
        </form> 
    

    Ceci est mon fichier d'itinéraire

    var express = require('express'); 
    var router = express.Router(); 
    var csrf = require('csurf'); 
    var passport = require('passport'); 
    var Cart = require('../Models/cart'); 
    var multer = require('multer'); 
    var upload = multer({ dest: '../public/uploads/' }); 
    var bodyParser = require('body-parser'); 
    router.use(bodyParser.json()); 
    router.use(bodyParser.urlencoded({ extended: true })); 
    
    router.use(upload.single('fileUpload')); 
    var csrfProtection = csrf(); 
    router.use(csrfProtection); 
    
    router.post('/addNewFood', function (req, res, next) { 
        console.log('filesssssssss',req.files); 
    
    } 
    

    });

    Je ne peux pas comprendre ce qui est faux here.Please aide

    Répondre

    0

    Je suis télécharger un fichier en utilisant cela, espère que cela fonctionne aussi bien pour vous.

    var express = require('express'); 
        var mongoose = require('mongoose'); 
        var multer = require('multer'); 
        var fs = require('fs'); 
        var Grid = require('gridfs-stream'); 
        var router = express.Router(); 
        var upload = multer({dest: 'uploads/'}); 
    
        router.post('/upload', upload.any(), function (req, res) { 
         var conn = mongoose.connection; 
         var Grid = require('gridfs-stream'); 
         Grid.mongo = mongoose.mongo; 
         var path = req.files[0].path 
         var path_name = req.files[0].originalname 
         var gfs = Grid(conn.db); 
         var writestream = gfs.createWriteStream({ 
          filename: path_name 
         }); 
         fs.createReadStream(path).pipe(writestream); 
         writestream.on('close', function (file) { 
          fs.unlink(req.files[0].path, function() { 
           res.json({id: file._id, message: "success"}); 
          }); 
         }); 
    
        }) 
    
    +0

    merci je l'ai compris – user3257970

    +0

    est-ce que cela a fonctionné pour you.if oui alors upvote –

     Questions connexes

    • Aucun problème connexe^_^