gpt4 book ai didi

node.js - 在 Express/Node 服务器中通过 HTTP POST 接受 wav 音频文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:28 24 4
gpt4 key购买 nike

我正在尝试通过 cURL 将音频文件 audio.wav 发送到我的 Express 服务器。我正在使用以下 cURL 请求:

 curl -X POST --data-binary @"audio.wav" -H "Content-Type: audio/wav" localhost:3000/extract_indicators/audio/darksigma

在我的服务器上,我在顶部使用以下行:

app.use(bodyParser.json());

这样我就可以默认将传入请求的正文解析为 JSON。在我相应的 Express 路由处理程序中,我有:

app.post('/extract_indicators/audio/:user_id', function (req, res) {
app.use(bodyParser.raw({ type: 'audio/wav' }));
console.log("RECIEVED AUDIO TO EXTRACT INDICATORS: ", req.body);
<do stuff with audio and send result back>
app.use(bodyParser.json());
});

我对 console.log 的调用打印:

RECIEVED AUDIO TO EXTRACT INDICATORS:  {}

我做错了什么?为什么 req.body 不包含我的数据?

最佳答案

结果是通过使用以下声明(在 app 处理程序之外)解决了这个问题:

app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.raw({ type: 'audio/wav', limit: '50mb' }));

app.post('/extract_indicators/audio/:user_id', function (req, res) {
console.log("RECIEVED AUDIO TO EXTRACT INDICATORS: ", req.body);
<do stuff with audio and send result back>
});

控制台输出现在是:

RECIEVED AUDIO TO EXTRACT INDICATORS:  <Buffer 52 49 46 46 54 b0 01 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 01 00 80 3e 00 00 00 7d 00 00 02 00 10 00 64 61 74 61 30 b0 01 00 00 00 00 00 00 00 ... >

关于node.js - 在 Express/Node 服务器中通过 HTTP POST 接受 wav 音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31756393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com