javascript - 节点服务器中未定义的获取请求主体(数组缓冲区主体)
问题描述
我读过很多类似的问题,但任何答案都对我有用。
我试图在获取请求(在 vuejs 中)的正文中作为ArrayBuffer发送音频,但是当我在服务器端打印它时,正文是undefined。
客户端代码:
export async function makeQuery(data) {
let bufferAudio = await data.arrayBuffer();
console.log(bufferAudio);
const response = await fetch(`/api/query`, {
method: 'POST',
//headers: {'Content-Type': 'audio/mp3'},
body: bufferAudio,
})
.catch(function(e) {
console.log("error", e);
});
return response;
}
节点服务器代码:
const express = require('express');
const path = require('path');
const app = express(), port = 3080;
app.post('/api/query', async (req, res) => {
query = req.body;
console.log('query ', query); // Here the body is undefined
/*
Do some processing...
*/
});
当我在请求正文(和app.use(express.json())
服务器)中发送一个简单的 json 字符串时,它可以工作。但不是使用 arraybuffer 音频。提前致谢
解决方案
推荐阅读
- python - 使用 JSON 可序列化枚举自动生成棉花糖模式
- android - EditText 字段永远不会被提交
- python - Python:如何注释变量,它可以包含任何类型的通用别名,如 Union、List 等?
- javascript - 如何将javascript变量加载到localpath?
- python - 在 Python 中比较 datetime.time 和 pd.TimeStamp
- docker - `docker run ubuntu` 后 Ubuntu 容器立即退出
- python - tkinter 中的随机图像循环
- html - 酒店名称及其价格的网络抓取?
- angular - Angular:Cloudinary 错误 {“消息”:“cloud_name 已禁用”}
- python-2.7 - 如何将数据框中的列值解压缩为 Python 中的列名