2017-02-25 6 views
0

expressと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> 

そして、私のバックエンドである:

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); 
}); 

は、しかし、私は画像をアップロードするたびに、それは/公共/画像に表示されませんが、ここで私は、画像をアップロードするために使用する形式です。私のコードで何が間違っていますか?本当にありがとう!

答えて

2

enctype="multipart/form-data"がHTMLフォームタグにありません。それがなければ、あなたのフォームをapplication/x-www-form-urlencodedとして投稿します。これにはファイルデータは含まれません。

関連する問題