我正在使用firebase存储来上传头像(original.jpg)。 在node.js后台进程中,我使用gm调整它们的大小,然后将它们放回我的firebase存储桶中。这些图片是公开可读的,请参阅我的存储规则:
service firebase.storage {
match /b/xxx.appspot.com/o {
match /images {
match /{allImages=**} {
allow read;
}
match /{userId}/avatar/original.jpg {
allow write: if request.auth.uid == userId;
}
}
}
}
我将图片的url存储在firebase数据库ex:
中https://firebasestorage.googleapis.com/v0/b/xxx.appspot.com/o/images%2Fyyy%2Favatar%2Fzzz-small.jpg?alt=media
我在文件上传后立即检索(web sdk)var downloadURL = uploadTask.snapshot.downloadURL;
;剥离令牌参数,因为它将被公开;并且zzz-small.jpg已经取代了original.jpg。
它可以工作,显示图片。
但即使图片是40x40px jpg,它也很慢。在实际下载文件之前它会挂起一段时间,请参阅Chrome网络记录:
文件是158B,在下载之前有一个等待〜3ms ...
firebase存储应该和CDN一样快吗? 有没有更快的方法来调用公共可读文件?
[编辑] 从Firebase支持获得了一些反馈:
我们肯定知道很多用户,比如你自己 从欧洲缓慢下载文件的问题。我们正在探索 潜在的解决方案,但我无法分享任何细节或时间表 这次。我们会继续考虑您的反馈意见 虽然。
请留意我们的发行说明,了解任何进一步的更新。
我忘了提到我在欧洲和美国的存储。