2016-09-06 47 views
0

申し訳ありませんが、私はフォームをアップロードしてDBにテキストを追加していますが、イメージは正常にアップロードされていますが、req.bodyオブジェクトは常に空の配列。Express、Multer、BodyParser req.body空の配列

HTML

<form class='new-project' action='/projects' method='POST' enctype="multipart/form-data"> 
    <input type="text" name="title" placeholder="Project Title"> 
    <br> 
    <textarea name="description" rows="8" cols="40" placeholder="Project description"></textarea> 
    <br> 
    <label for='file'>Select your image:</label> 
    <input type='file' accept='image/*' name='uploadedImages' multiple/> 
    <span class='hint'>Supported files: jpg, jpeg, png.</span> 
    <br> 
    <input type="submit" value="uploading_img"> 
</form> 

JS

var bodyParser = require('body-parser'), 
express = require('express'), 
multer  = require('multer'), 

var storage = multer.diskStorage({ 
    destination: function (request, file, callback) { 
    callback(null, './public/uploads'); 
    }, 
    filename: function (request, file, callback) { 
    console.log(file); 
    callback(null, file.originalname) 
    } 
}); 

var upload = multer({storage: storage}).any('uploadedImages'); 

app.use(bodyParser.urlencoded({extended:true})); 
app.use(bodyParser.json()); 

app.post('/projects', function(req, res){ 
    console.log('req.body'); 
    console.log(req.body); 
    upload(req, res, function(err){ 
    if(err){ 
     console.log('Oh dear...'); 
     console.log(err); 
     return; 
    } 
    console.log(req.files); 
    res.end('Your files uploaded!'); 
    console.log('Yep yep!'); 
    }); 
}); 

は、ドキュメントによると、multerは、リクエストにボディオブジェクトを追加しますが、私は唯一または身体パーサずに戻って空の配列を取得します。

コードを見ていただきありがとうございます。

答えて

1

アップロード()メソッド内に希望のreq.bodyが表示されます。 req.filesを印刷する場所にログreq.bodyを記録してください。

関連する問題