【发布时间】:2016-06-08 13:12:13
【问题描述】:
我必须将远程文件的二进制内容发送到 API 端点。我使用request library 读取远程文件的二进制内容并将其存储在一个变量中。现在已经准备好发送变量中的内容,如何使用请求库将其发布到远程 api。
我目前拥有但不工作的是:
const makeWitSpeechRequest = (audioBinary) => {
request({
url: 'https://api.wit.ai/speech?v=20160526',
method: 'POST',
body: audioBinary,
}, (error, response, body) => {
if (error) {
console.log('Error sending message: ', error)
} else {
console.log('Response: ', response.body)
}
})
}
我们可以在这里安全地假设audioBinary 具有从远程文件读取的二进制内容。
我说它不起作用是什么意思?
有效负载在请求调试中显示不同。
实际二进制有效载荷:ID3TXXXmajor_brandisomTXXXminor_version512TXXX
调试中显示的有效负载:ID3\u0004\u0000\u0000\u0000\u0000\u0001\u0006TXXX\u0000\u0000\u0000\
终端中的工作原理是什么?
我所知道的终端工作的不同之处在于它也在同一命令中读取文件的内容:
curl -XPOST 'https://api.wit.ai/speech?v=20160526' \
-i -L \
--data-binary "@hello.mp3"
【问题讨论】:
-
你成功了吗?
-
是的,我会在这里发布答案。答案在文档中。
标签: javascript post binary request requestjs