Firebase存储上载在TypeScript中始终为0字节

问题描述

我尝试使用TypeScript和NodeJS Firebase库将文件上传到我的Google云存储中,每次尝试创建并写入文件创建,但始终以0字节结尾...

这是我的代码...

downloadFile(url:string,_path?:string):{dest: string,file: fs.WriteStream}{
    const dest: string = _path||path.join(__dirname,'..','temp',`${uuid()}.temp`);
    console.log(dest);
    const file = fs.createWriteStream(dest);
    http.get(url,function(response) {
        response.pipe(file);
        file.on('finish',() => {
            file.close();
        });
    });
    return {dest,file};
}
downloadFiletoStorage(url: string,filename: string) {
    const dest: string = this.downloadFile(url).dest;
    const ext: string = filename.split('.').splice(-1)[0];
    const src = fs.readFileSync(dest);
    const file = storage.file(filename);
    const stream = file.createWriteStream({
        Metadata: {
            contentType: mimetypes[ext]
        }
    });
    stream.on('error',err => {
        if(err) {
            console.log(err);
        }
    });
    stream.on('finish',() => {
        console.log('Finished!');
    });
    stream.end(src);
}

我在我的Express应用程序中调用函数(出于测试目的,在run函数调用函数

app.listen(process.env.PORT||8080,async () => {
    console.log(
        utils.downloadFiletoStorage(
            'https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png','bruv.png'
        ));
    console.log(`Up and ready to go on port ${process.env.PORT||8080}`);
});

这是我以后的控制台...

console

这是我的Firebase存储...

firebase storage

我已经尝试了很多事情,并且还研究了许多其他问题...似乎写任何东西的唯一方法是,如果我打开gzip,然后打开并恢复这些文件,完全损坏,它们甚至不会出现在Google Cloud本身上。

如果您知道如何解决此问题,请提供帮助! 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...