如何在将照片上传到 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 存储之前对其进行压缩?

将图片上传到 Firebase 存储并显示为个人资料图片

如何修复照片上传错误到 Firebase 存储

如何在将图像上传到 Firebase 之前调整其大小?

将图像上传到 Firebase 存储并同时将文本输入到 Firestore 时出错

当我尝试将照片上传到 Firebase 存储时,Android 应用程序崩溃