如何在将照片上传到 Firebase 存储时将日期或时间等用户图像详细信息添加到文件名?
Posted
技术标签:
【中文标题】如何在将照片上传到 Firebase 存储时将日期或时间等用户图像详细信息添加到文件名?【英文标题】:How to add user image details like date or time to file name while uploading photos to firebase storage? 【发布时间】:2021-11-18 08:00:28 【问题描述】:我遇到了与在 Firebase 存储中上传图片相关的问题。我可以在 firebase 存储中上传用户图像,但它只显示最新的图像。它没有显示以前的图像。我认为是因为我创建的路径和这行代码中的时间戳:
const path = 'photos/$Date.now().jpg';
我正在使用 expo 和 React。上传图片的代码如下:
uploadPhotoAsync = async uri =>
const path = 'photos/$Date.now().jpg';
return new Promise (async(res, rej) =>
const response = await fetch(uri)
const file = await response.blob()
let upload = firebase.storage().ref(path).put(file)
upload.on("state_changed", snapshot=>
, err =>
rej(err)
, async ()=>
const url = await upload.snapshot.ref.getDownloadURL()
res(url)
)
)
谢谢。
【问题讨论】:
【参考方案1】:您的代码中有几个错误:
模板文字应使用反引号 (`) 分隔,而您应使用标准单引号 (') 分隔:const path = 'photos/$(Date.now().jpg';
。
结果:path
的值始终相同。
此外,在$
之后使用圆括号代替大括号。
按照以下方法可以解决问题:
const path = `photos/$Date.now().jpg`
【讨论】:
非常感谢! @Ranaud 我有正确的括号,但模板文字错误。以上是关于如何在将照片上传到 Firebase 存储时将日期或时间等用户图像详细信息添加到文件名?的主要内容,如果未能解决你的问题,请参考以下文章
如何在将图像上传到 Firebase 存储之前对其进行压缩?