node.js - 如何在通过 AJAX 从 multer 上传多个文件时读取节点端的每个文件数据?
问题描述
下面我选择了3个文件。在提交文件成功上传到目的地。但我也想在 nodejs 中读取服务器端的所有 3 个文件属性,如文件名、路径等。怎么做?
我试图通过在控制台中打印它来在 req.body 和 req.query 中找到它,但我将所有内容都作为一个对象:[object Object]
下面是我的节点端代码:
router.post('/api/upload/:cid',function(req,res){
// console.log("REQ",req); //file is there in the body
console.log("yes it came under api");
console.log("req.body = "+ req.body);
console.log("req.query = "+ req.query);
console.log("req.data = "+ req.data);
upload2(req,res,function(err) {
if(err) {
return res.end("Error uploading file.");
}
else
{
console.log("File is uploaded");
res.redirect('/taskswriter');
}
});
})
这是 AJAX 代码:
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: formData,
processData: false,
contentType: false,
success: function(r){
console.log("result",r)
},
error: function (e) {
console.log("some error", e);
}
});
解决方案
如果您在服务器端使用 multer,要获取文件数据(文件名、路径等),您需要从以下位置获取它:
// If you are uploading multiples files
console.log(request.files);
// If you are uploading one file
console.log(request.file);
因此,您可能可以通过以下方式获得它:
router.post('/api/upload/:cid',function(req,res){
console.log("req.files", req.files);
推荐阅读
- django - 当我运行收集静态命令时,Django 没有在浏览器中更新静态 css 文件设计
- python-3.x - python使用'del'从列表中删除一个元素
- api - 在没有 MVC 项目的情况下使用 Xero OAuth2 .Net SDK
- python - Kivy - 尝试使用 my.kv 文件时出错
- javascript - Javascript 和 HTML:单击提交时不显示验证警报消息
- firebase - 我在 Flutter itemBuilder 中不断收到此错误
- android - 如何在 Android 中保存 agora 流?
- laravel - 如何在 Laravel 8 中计算银行余额和银行总余额?
- java - Intellij 中的 junit 未识别 lombok 注释
- javascript - 我想使用(过滤器)js获得“选中”复选框