如何在 Node JS 中从客户端获取上传的文件?
How to get uploaded file from clientside in NodeJS?
我在我的 nodejs 文件中使用 npm multer 模块从客户端获取表单数据,其中包含我从我的计算机上传的图像。但是,当我尝试在服务器端打印文件时,它是未定义的,我猜测该文件实际上并未发送到服务器。当我在客户端打印出来时,它就在那里。
main.js(客户端)
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);
}
您实际上必须使用 中间件。例如:
app.post('/post', upload.single('image'), function(req, res) {
console.log(req.file);
});
我在我的 nodejs 文件中使用 npm multer 模块从客户端获取表单数据,其中包含我从我的计算机上传的图像。但是,当我尝试在服务器端打印文件时,它是未定义的,我猜测该文件实际上并未发送到服务器。当我在客户端打印出来时,它就在那里。
main.js(客户端)
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);
}
您实际上必须使用 中间件。例如:
app.post('/post', upload.single('image'), function(req, res) {
console.log(req.file);
});