当我的用户上传和映像时,应用会将其保存在firebase存储中并获取download-url并将其保存在数据库中。我使用数据库中的url来显示图像,但显示图像真的很慢(<2秒)。另一方面,firebase数据库非常快。
这是显示图像的正确方法,还是我做的表现不佳?
编辑:我看过其他帖子也有慢速问题,但似乎都没有解决方案(example)。我住在欧洲,存储在美国。图像低于400kb,因此不应成为问题。
代码:
// creating reference
const imageRef = firebase.storage().ref(`/jobs/${currentUser.uid}/${jobUID}`).child(name)
// creating a Blob using fileReader
fs.readFile(uploadUri, 'base64')
.then((data) => {
console.log('data from readFile: ', data)
return Blob.build(data, { type: `${mime};BASE64` })
})
.then((blob) => {
uploadBlob = blob;
return imageRef.put(blob, { contentType: mime, name: name })
.then(url => {
// URL used to display image
let imgUrl = url.downloadURL
// upload url to database
let storageRef = firebase.database().ref(`/jobs/activeJobs/${currentUser.uid}/${jobUID}/`);
storageRef.update(photo1).then(() => console.log('success'))
要检索图像,我只需将downloadURL放在图像标记
中