2016-09-06 3 views
0

Sorry für so eine noob Frage, aber ich habe ein Formular Bilder hochladen und etwas Text in die DB, die Bilder werden hochgeladen, aber die req.body Objekt ist immer ein leeres Array.Express, Multer, BodyParser req.body leeres Array

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

Gemäß der Dokumentation, multer einen Körper Objekt auf die Anforderung hinzufügen, aber ich nur ein leeres Array mit oder ohne Körper-Parser zurück.

Danke, dass Sie sich die Zeit genommen haben, den Code durchzusehen !!

Antwort

1

Sie können req.body in der upload() - Methode gewünscht werden. Versuchen Sie, req.body an der Stelle zu protokollieren, an der Sie req.files drucken.

Verwandte Themen