【问题标题】:Firebase photoURL is not displaying properly in react-nativeFirebase photoURL 在 react-native 中无法正确显示
【发布时间】:2021-11-27 13:58:47
【问题描述】:

我在 react-native 和 native-cli 中使用 Firebase 身份验证模块。注册时,我正在使用 react-native-document-picker 上传图片。从图库中选择图像后,它将如下所示:

{
  "fileCopyUri":"content://com.android.providers.media.documents/document/image%3A33077",
  "name":"IMG-20211005-WA0007.jpg",
  "size":67094,
  "type":"image/jpeg",
  "uri":"content://com.android.providers.media.documents/document/image%3A33077"
}

并使用此功能将其上传到 firebase:

auth().currentUser.updateProfile({
     displayName:fullname,
     photoURL:JSON.stringify(pic),
})

现在当我得到它时:

const fireUser = auth().currentUser;
console.log(JSON.parse(fireUser.photoURL))
  

它在屏幕上显示图像,但是当我退出应用程序并再次打开或登录应用程序时,它不显示图像,但我在 photoURL 中有图片。

可以转换文件吗?

{
  "fileCopyUri":"content://com.android.providers.media.documents/document/image%3A33077",
  "name":"IMG-20211005-WA0007.jpg",
  "size":67094,
  "type":"image/jpeg",
  "uri":"content://com.android.providers.media.documents/document/image%3A33077"
}

进入网址?

我做错了什么?

【问题讨论】:

    标签: android react-native firebase-authentication


    【解决方案1】:

    您传递给 updateProfile 的 URL 是您 Android 设备上的本地 URL,它不起作用。为确保配置文件可见,请将本地文件上传到云中的公共场所,然后将该位置的 URL 传递给 updateProfile。

    例如,您可以upload the file to Cloud Storage with Firebase,然后get the download URL 提供只读的公共访问权限,并将其存储在用户配置文件中。

    【讨论】:

    • 好的,我检查一下,但是如何链接与该用户相关的特定图像?
    • 例如,您可以使用用户的 UID 来确定您将图像上传到的文件的路径。这样您还可以保护上传,以便用户只能上传自己的个人资料图片,如下所示:firebase.google.com/docs/rules/basics#cloud-storage_2
    • @AdilIjaz 这里有更新吗?
    • 谢谢。但我转向了 django blackend
    猜你喜欢
    • 1970-01-01
    • 2020-12-06
    • 2021-09-16
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    相关资源
    最近更新 更多