Firebase Cloud Storage放置文件内存问题

时间:2018-10-17 21:10:49

标签: node.js firebase google-cloud-storage firebase-storage node.js-stream

我需要从读取流中上传文件。但是,当我使用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中使用标记,因为我更改了上载的文件并创建了一个新文件(并使用该文件)。

0 个答案:

没有答案