2017-02-25 8 views
0

Ich versuche, ein Bild mit Express und Multer hochladen. Hier ist die Form ich das Bild laden:Hochgeladenes Bild funktioniert nicht mit Multer

<form action="/uploadProfilePicture" method="POST" id="form-upload-profile-picture"> 
    <div class="row center"> 
     <div class="row"> 
      <input type="file" name="uploadProfilePicture" id="add-friend-search-input"> 
     </div> 
     <div class="row"> 
      <button class="button-green-large" class="u-full-width" id="add-friend-search-submit">Upload</button> 
     </div> 
    </form> 

Und hier ist mein Back-End:

var mkdirp   = require("mkdirp"), 
    multer   = require("multer"); 

// MULTER CONFIGURATION 
    var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
     //var code = JSON.parse(req.body.model).empCode; 
     var dest = "/public/images"; 
     mkdirp(dest, function (err) { 
      console.log(dest); 
      if (err) cb(err, dest); 
      else cb(null, dest); 
     }); 
    }, 
    filename: function (req, file, cb) { 
     cb(null, Date.now()+'-'+file.originalname); 
    } 
}); 

// POST ROUTE: Upload profile picture 
app.post("/uploadProfilePicture", upload.any(), function(req, res) { 
    console.log(req.body); 
    res.send(req.files); 
}); 

Jedes Mal, wenn ich ein Bild hochladen, es erscheint nicht in/public/images. Was ist falsch an meinem Code? Vielen Dank!

Antwort

2

enctype="multipart/form-data" fehlt in Ihrem HTML-Formular-Tag. Andernfalls wird das Formular als "application/x-www-form-urlencoded" veröffentlicht, das keine Dateidaten enthält.

Verwandte Themen