我正在以FormData的形式将数据发送到中间件(Node js),但是当我尝试将其记录到中间件中时,却得到了{}。如何获取要从客户端发送的FormData,因为它需要传递到后端。
这是用于从客户端转换为FormData的代码,
const dataUrl = canvas.toDataURL('image/png', 1);
const blob = await fetch(dataUrl).then((res) => res.blob());
const formData = new FormData();
formData.append('file', blob, name + '.png');
我已经做过一些先前的研究,并且了解Multer
,但是我无法弄清楚如何在我的应用程序中使用它,
node js结构有点像这样-
app.js
import express from 'express';
import myRouter from './routes/myRouter';
var app = express();
app.use('/api', myRouter);
在myRouter.js中,我正在侦听端点并调用相应的控制器,
router.post('/endpoint', endpointController);
endpointController函数-
const endpointController = async function (req, res) {
const URL = url;
const { body, headers } = req;
try {
const { data, error } = await axios.post(URL, body, headers: {
...headers,
'Content-Type': 'multipart/form-data'
});
if (data) {
res.send(data);
} else {
res.send(error);
}
} catch (error) {
console.log(error);
}
};
当我尝试使用上述API时,我得到了400。任何帮助将不胜感激。谢谢。