这是我想要实现的流程:
1)用户将音频文件上传到server1
2)Server1接收该音频文件并将其发送到不同域的server2
3)Server2将音频文件转换为文本
4)Server2用文本
响应server1
5)Server1向用户显示文本
完成了server2上的语音到文本转换。我被困在发送音频文件并等待响应。我知道如何使用GET发送请求,但我认为我不能将它用于音频文件。
如何使用node.js将音频文件发送到其他服务器?
我对node.js很新,所以任何帮助都会受到赞赏。感谢。
更新:
Server2使用REST API并期望文件被POST。
答案 0 :(得分:2)
这完全取决于远程服务器期望接收音频文件的方式。假设它有某种RESTful Web服务接口,文件内容被POST到某个URL,你可能会做这样的事情:
fs.readFile('/path/to/my/audiofile.wav', function (err, data) {
if (err) throw err;
var options = {
host: 'remotehost.com',
path: '/upload/wav',
method: 'POST',
headers: { 'Content-Type': 'audio/wav' }
};
var req = http.request(options, function(res) {
// Handle a successful response here...
});
req.on('error', function(e) {
// Handle an error response here...
});
// Write the audio data in the request body.
req.write(data);
req.end();
});
同样,它完全取决于服务器希望您发送数据的方式。它可能期望完全不同的协议(或方法或路径),身份验证,编码或任何数量的细节,这将彻底改变我的样本答案的可行性。
答案 1 :(得分:0)
这是一个很好的消息传递用例。我建议像这样的流程:
服务器A和服务器B之间的直接HTTP通信的一些弱点是: