javascript - Node JS 如何从客户端获取上传的文件?

标签 javascript node.js file-upload xmlhttprequest

我在 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);
});

关于javascript - Node JS 如何从客户端获取上传的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36121445/

相关文章:

javascript - Syncfusion 过滤器不适用于 Angular 7

javascript - 等待/异步匿名函数

node.js - session-file-store 删除过期的 session 文件

node.js - 如何安装 NodeJs 旧版本(0.10.40)

Django 文件上传

javascript - Mobx- react : Inject and Observe together

javascript - 如何获取 iframe 中存在的 div 对象

javascript - 显示来自 mongodb 的所有数据并在 doT.js 模板引擎中渲染它

java - 如何预览图像而不将其保存到文件系统?(JSF 2.0)

node.js - 使用 NodeJS 和 express-fileupload 将文件上传到服务器,并将其直接流式传输到 Azure 云