Abhishek Parikh
Abhishek Parikh

Reputation: 989

Multer file upload error Error: Unexpected field

I am trying to upload file on NodeJS using multer but it gives error of Error: Unexpected field.

I am following this tutorial http://code.runnable.com/VNX-T8fdt5Y4X-mv/fileupload-for-node-js-and-hello-world.

Here is my code:

var express=require("express");
var multer  = require('multer');
var app=express();
var done=false;

/*Configure the multer.*/

//app.use();

/*Handling routes.*/

app.get('/',function(req,res){
    res.sendfile("./index.html");
});

app.post('/',multer({ dest: './uploads/'}).single('upl'),function(req,res){
    if(done==true){
        console.log(req.files);
        res.status(204).end();
    }
});

/*Run the server.*/
app.listen(3000,function(){
    console.log("Working on port 3000");
});

On the HTML

Error I am facing is

Error: Unexpected field
at makeError (C:\Users\Abhishek\Desktop\OSPL_Energy\Node JS\node_modules\multer\lib\make-error.js:12:13)
at wrappedFileFilter (C:\Users\Abhishek\Desktop\OSPL_Energy\Node JS\node_modules\multer\index.js:39:19)
at Busboy.<anonymous> (C:\Users\Abhishek\Desktop\OSPL_Energy\Node JS\node_modules\multer\lib\make-middleware.js:112:7)
at emitMany (events.js:127:13)
at Busboy.emit (events.js:201:7)
at Busboy.emit (C:\Users\Abhishek\Desktop\OSPL_Energy\Node JS\node_modules\busboy\lib\main.js:31:35)
at PartStream.<anonymous> (C:\Users\Abhishek\Desktop\OSPL_Energy\Node JS\node_modules\busboy\lib\types\multipart.js:213:13)
at emitOne (events.js:96:13)
at PartStream.emit (events.js:188:7)
at HeaderParser.<anonymous> (C:\Users\Abhishek\Desktop\OSPL_Energy\Node JS\node_modules\dicer\lib\Dicer.js:51:16)

Upvotes: 0

Views: 4700

Answers (1)

Abhishek Parikh
Abhishek Parikh

Reputation: 989

HTML filename and myimage should be same as .single('upl')

So code is

var express=require("express");
var multer  = require('multer');
var app=express();
var done=false;

/*Configure the multer.*/

//app.use();

/*Handling routes.*/

app.get('/',function(req,res){
    res.sendfile("./index.html");
});

app.post('/',multer({ dest: './uploads/'}).single('myimage'),function(req,res){
    if(done==true){
        console.log(req.files);
        res.status(204).end();
    }
});

/*Run the server.*/
app.listen(3000,function(){
    console.log("Working on port 3000");
});

Upvotes: 4

Related Questions