使用Angular和NodeJS通过发帖请求发送图像

时间:2019-03-06 15:51:26

标签: node.js angular express post

我目前正在为一个工作中的小项目同时学习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');
});

1 个答案:

答案 0 :(得分:0)

请在nodejs中使用npm multer来解析multipart / form-data。请点击此链接https://github.com/expressjs/multer