2016-09-06 8 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는 요청에 몸 개체를 추가,하지만 난 단지 또는 신체 파서없이 다시 빈 상태 (empty)의 배열이.

코드를 살펴 보는 데 시간을내어 주셔서 감사합니다.

답변

1

업로드() 메소드 내에 req.body이 필요합니다. req.files을 인쇄하는 곳에 req.body을 기록하십시오.

관련 문제