【发布时间】:2019-09-11 02:00:51
【问题描述】:
问题:
我有fs.createWriteStream(filename),其中文件名是通过res.pipe(); 写入的mp3 文件。来自远程服务器的响应是永无止境的音频数据流。
服务器定时发送res.on('metadata'),可以解析,我们知道歌曲结束,新歌开始。那时我必须“拆分”“文件名”并开始写另一个“文件名2”,这最终是另一首歌曲。
问题是,我无法关闭“filename1”的流,并启动另一个fs.createWriteStream(filename2),因为它正被“res.pipe()”使用,如果它已关闭,则管道中断 -> 节点会抛出错误我无法写入已关闭的流 -> 资源中断 -> 连接丢失,我必须手动重新启动应用程序...
应该如何正确完成?
谢谢!
【问题讨论】:
-
您需要考虑不使用
res.pipe(),因为您需要更好地控制目标流。
标签: javascript node.js