我目前正在为一个工作中的小项目同时学习Angular和NodeJS,但是最近几天我在如何发送图像方面遇到了一些问题(从Canvas捕获,图像很好,而且经过img标签测试)从Angular连接到我的node.js服务器(带有Express)。
该图像似乎发送良好(已在“网络”标签中验证,在请求中),但我似乎无法在服务器端获取它。我猜想我的发送方式或应该如何在服务器端获取信息有问题。终端显示日志后,服务器会确认发布请求,但是请求中的所有内容(参数,正文等)均为空或未定义。
有关代码在下面,哪一边是错误的或丢失的?或者即使我可能还想念其他东西?
角形侧面
//From my component, then sent to my service (imgData from sendImage)
const formData = new FormData();
formData.append('file', canvas.toDataURL(), 'capturedimage');
//Method inside my service
sendImage(imgData: FormData):any {
this.http.post('http://localhost:3000/vision', imgData)
.subscribe(data => {
console.log(data);
});
}
Node.js端
app.post('/vision', (req, res) => {
console.log('Received'); // Received
console.log(req.params); // {}
console.log(req.body); // undefined
console.log(req.file); // undefined
res.send('Response');
});
答案 0 :(得分:0)
请在nodejs中使用npm multer来解析multipart / form-data。请点击此链接https://github.com/expressjs/multer