Javascript 使用multer和vaadin upload(聚合物)上传图像时,我得到未定义的值
我在客户端使用polymer作为图像上传按钮:Javascript 使用multer和vaadin upload(聚合物)上传图像时,我得到未定义的值,javascript,node.js,polymer,multer,vaadin-upload,Javascript,Node.js,Polymer,Multer,Vaadin Upload,我在客户端使用polymer作为图像上传按钮: 在服务器端,我使用multer上传图像: const express=require(“express”); const multer=要求(“multer”); var cors=要求(“cors”); const config=require(“../../config”); const router=express.router(); var公司={ origin:config.origin,//'*' 选项成功状态:200 }; 路由器
在服务器端,我使用multer上传图像:
const express=require(“express”);
const multer=要求(“multer”);
var cors=要求(“cors”);
const config=require(“../../config”);
const router=express.router();
var公司={
origin:config.origin,//'*'
选项成功状态:200
};
路由器使用(cors(corsOptions));
var storage=multer.diskStorage({
目标:功能(请求、文件、cb){
cb(空,“../../uploads”);
},
文件名:函数(请求、文件、cb){
const uniqueSuffix=Date.now()+“-”+Math.round(Math.random()*1e9);
cb(null,file.fieldname+“-”+唯一后缀);
}
});
var uploads=multer({storage:storage});
router.post(“/uploadFile”,uploads.single(“文件”),(req,res)=>{
控制台日志(请求文件);
控制台日志(请求主体);
});
module.exports=路由器;
对于req.files和req.body,我都得到了未定义的值,请参阅日志:
13:54:44 0|eod | OPTIONS /rest/upload_file/uploadFile 200 0 - 0.553 ms
13:54:44 0|eod | undefined
13:54:44 0|eod | {}
我正在使用以下版本:
“multer”:“^1.4.2”,
nodejsv8.9.3
这是我的标题“
怎么了?我错过了什么?顺便说一句,即使使用Postman,我也会遇到同样的问题尝试console.log(req.file)而不是(req.files),因为您使用的是uploads.single('file')。只有当您使用多个文件时,请求才会存储在文件中(带有“s”)。否则,它应该在“file”上(当它是单次上载时).我想这可能就是这里发生的事情。试试看
router.use(express.json());//this is required if you are sending data as json
router.use(express.urlencoded({extended:false}));
好的,我发现了问题。。
删除标题(除了身份验证)后,它会工作!(“内容类型”不能手动设置-因为我们使用边界,在服务器端它会查找自动生成的边界)
看起来是Vaadin上传错误而且“文件”未定义: