Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用multer和vaadin upload(聚合物)上传图像时,我得到未定义的值_Javascript_Node.js_Polymer_Multer_Vaadin Upload - Fatal编程技术网

Javascript 使用multer和vaadin upload(聚合物)上传图像时,我得到未定义的值

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 }; 路由器

我在客户端使用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
};
路由器使用(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上传错误

而且“文件”未定义: