[英]How to turn binary from server back into audio file?
我正在使用 express 的res.sendFile()
将 .mp3 文件从我的服务器发送到我的客户端作为对发布请求的响应。
我一直无法将数据字符串(我认为是二进制的?)转换回我的 web 应用程序可用的格式。 (理想情况下,将其用作 <audio> 元素)。
当我使用 Postman 访问这条路线时,它似乎在工作——响应的“正文”在 Postman 的应用程序中打开了一个工作的音频播放器(如下图所示)。 这告诉我服务器端没有问题。 在我的客户端代码中,我尝试使用服务器响应的数据属性创建一个新的 Blob,然后使用该 Blob 获取 HTML <audio> 元素。 这是从我的 axios.post() 响应开始的样子:
.then((res) => {
const blob = new Blob([res.data], {type: 'audio/mpeg'})
sendBlobToAnotherComponent(blob)
})
//== send the blob to the appropriate .jsx element (using React) ==\\
<audio
controls
src={URL.createObjectURL(blob)}>
</audio>
我相当有信心我只是错误地构建了这个 Blob,但我一辈子都弄不明白。 令人气愤的是 Postman 自动执行此操作 哈哈 ..:但也给我希望! 谢谢你的帮助 :)
你可以做两件事。
<audio src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/858/outfoxing.mp3" controls />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.