如何从NodeJS中的客户端上传文件?

时间:2016-03-21 00:36:54

标签: javascript node.js file-upload xmlhttprequest

我在nodejs文件中使用npm multer模块从clientside获取formdata,其中包含我从计算机上传的图像。但是,当我尝试在服务器端打印出文件时,它是未定义的,我猜这个文件实际上并没有发送到服务器。当我在客户端打印出来时,它就在那里。

main.js(clientside)

var formData = new FormData();
formData.append("image", file);
var r = new XMLHttpRequest();
r.open("POST", "/post");
r.send(formData);

app.js(服务器端)

var multer = require('multer');

var upload = multer({dest:'./pics/'});

app.post('/post', function(req, res) {
    console.log(req.files);

}

1 个答案:

答案 0 :(得分:3)

您必须使用中间件。例如:

app.post('/post', upload.single('image'), function(req, res) {
  console.log(req.file);
});