浏览器端代码
let data = new FormData();
data.append('file', file);
data.append('userId', userId);
axios.post(`${baseUrl}/uploadFile`, data, {headers: {'Content-Type':'multipart/form-data'}}).then((result) => console.log(result)).catch((err) => cb(err))
服务器端代码
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, PUT, PATCH, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, api_key, Authorization');
res.setHeader('Access-Control-Expose-Headers', 'Content-Range');
next();
});
app.use('/', express.static('public'))
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
我已经尝试了几乎所有内容,但始终得到一个空对象。
该文件是pdf
有人可以帮忙吗?
最佳答案
您正在发送multipart/form-data
编码的数据。
你有:
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
即
URL编码数据的解码器
JSON编码数据的解码器
您没有一个用于Multipart编码的数据!
现在,由于您正在使用它,请参阅body parser的文档:
由于它们的复杂性和
通常是大自然。对于多部分实体,您可能会感兴趣
以下模块:
busboy和connect-busboy
多方和连接多方
强大
磨碎机
关于javascript - Axios FormData()获取空对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53555705/