【发布时间】:2020-08-14 14:01:19
【问题描述】:
我想上传图片到数据库。但是,当我使用带有 'Content-Type': 'multipart/form-data' 的 fetch 方法时,我无法在服务器端获取附加数据。显示我body中没有数据。
下面是获取部分编码
editProfile = () => {
let bodyData = new FormData();
let photo={
uri:this.state.uri,
type:this.state.type,
fileName:this.state.fileName,
}
bodyData.append('transactionCode', 'UPDATEPROFILE');
// bodyData.append('photo', photo);
console.log(bodyData);
fetch(URL, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
body: bodyData,
}).then((response) => response.json())
.then((responseJson) => {
alert(responseJson);
})
.catch((error) => {
alert(error);
});
}
这是我如何在服务器端检查数据的示例
const custfunction = function (req, res) {
console.log(req.body);
}
当我 console.log(req) 时,它显示 body:{} 为空
【问题讨论】:
-
如果您使用 express 作为后端,只需添加“app.use(express.bodyParser());”
-
是的,我确实有如下的bodyParser,但它仍然不起作用 app.use(bodyParser.urlencoded({ limit: '200mb', extended: true })); app.use(bodyParser.json({ limit: '200mb', extended: true }));
-
好吧,我刚发现问题。我需要使用 Multer 在后端处理多部分/表单数据。非常感谢。 npmjs.com/package/multer
标签: node.js react-native fetch multipartform-data