1

Trying to get file details with connect-multiparty but its returning an empty object.

var express = require('express'),
    bodyParser = require('body-parser'),
    app = express();
var multiparty = require('connect-multiparty'),
    multipartyMiddleware = multiparty();
app.use( multipartyMiddleware );


app.post('/testupload1', function(req, res){
    var body = req.body;        var file = req.files;
    console.log(file)  // or console.log(body)  both empty.  
 }

Form :

<form action="testupload1" method="post" enctype="multipart/form-data">

<input type="file" name="file"> <br />
<input type="submit" value="Upload">

Get an empty object {} in the console when I upload a jpeg file. What am I doing wrong? Please help.

aynber
  • 22,380
  • 8
  • 50
  • 63
Somename
  • 3,376
  • 16
  • 42
  • 84

1 Answers1

1

I guess this may help you.

var express = require('express'),
bodyParser = require('body-parser'),
app = express();
var multiparty = require('connect-multiparty'),
multipartyMiddleware = multiparty();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));


app.post('/testupload1', multipartyMiddleware, function(req, res){
var file = req.files;
console.log(file)
});


    app.get('/file', function (req, res, next) {
    res.end('<!DOCTYPE html>'
        + '<html lang="en">'
        + '<head>'
        + '<meta charset="UTF-8">'
        + '<title>Title</title>'
        + '</head>'
        + '<body>'
        + '<form action="testupload1" method="post"        enctype="multipart/form-data">'
        + '<input type="file" name="file"> <br />'
        + '<input type="submit" value="Upload">'
        + '</form>'
        + '</body>'
        + '</html>')
        });

  app.listen(3008);

enter image description here

MWY
  • 1,071
  • 7
  • 15
  • Thanks heaps! Thank you. You're amazing! So I was missing `app.use(bodyParser.urlencoded({ extended: false }));` ? Thanks again! – Somename Apr 01 '17 at 03:42