我需要从读取流中上传文件。但是,当我使用firebase.storage().ref(path).put(file)
时,它需要整个文件。问题是,当我将文件的大块内容复制到Blob并通过该Llob时,它将占用过多的内存。
我现在的代码:
const audioChunks = []
const readStream = fs.createReadStream(orgAudioPath + newAudioName);
readStream
.on('data', (chunk) => {
audioChunks.push(chunk);
})
.on('end', () => {
const audioFile = new Blob(audioChunks, {
type: "audio/wav"
})
const task = firebase.storage().ref('test/' + newAudioName).put(audioFile)
此代码有效,但由于将整个文件保存在那里,因此需要太多内存。有没有一种方法可以从我的读取流创建写入流,从而不需要那么多的内存?谢谢。
注意:我无法在html中使用标记,因为我更改了上载的文件并创建了一个新文件(并使用该文件)。