获取节点中的角度形式数据值为空



这是角度形式数据附加部分

const formData = new FormData();
formData.append('userId', this.myData.userId);
formData.append('file', this.file);
formData.append('action', 'upload');

然后我像这样把它发送到节点服务器。

return this.http.post<any>(`${Server}/uploadPhoto`, formData);

但我无法在节点服务器中获取req.body值我用的是Express。但是req.body是空的。

这是节点获取部分。

exports.uploadPhoto = async function(req, res) {
try {
console.log(req.body))
res.status(200).send(req.body)
} catch {
res.status(400).send()
}

返回值和节点获取值均为{}。若我不使用formdata,节点服务器运行良好。我可以在没有表单数据的情况下获取其他值。

我认为,这是由于角头选项或节点接受类型选项,但我不确定。

这是节点头部分

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
res.header('Access-Control-Allow-Origin', 'http://localhost:4200');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Accept-Encoding');

对于表单数据的文件上传,您可以在您的express API上尝试这个库,里面有很多如何实现这个中间件的例子。

https://github.com/expressjs/multer

最新更新