ios - 根据 uid 访问 Firebase 存储镜像

标签 ios swift firebase firebase-authentication firebase-storage

我有一个应用程序,我将每个用户的个人资料图片存储在 Firebase 存储中。这是我用来存储个人资料图片的路径:

FIRStorage.storage().reference(forURL: "gs://gsignme-15916.appspot.com").child(user.uid+"/profile_pic.jpg")

enter image description here enter image description here

我还使用其 url 将图像存储在 firebase 数据库中。但是当我尝试使用此代码访问个人资料图片时。

 if (post["uid"] as? String) != nil {

               let imageRef = FIRStorage.storage().reference().child((uid)!+"/profile_pic.jpg")


                imageRef.data(withMaxSize: 25 * 1024 * 1024, completion: { (data, error) -> Void in
                    if error == nil {

                        let image = UIImage(data: data!)
                        cell.UserImg.image = image

                        cell.UserImg.layer.cornerRadius = 10
                        cell.UserImg.clipsToBounds = true



                    }else {

                        print("Error downloading image:" )


                    }})}

当我更改用户时,图片会更改为当前用户的图片,而不是发帖的用户的图片。我知道问题在于如何检索图像,但我不确定如何根据不是当前登录用户的 uid 检索图像。

最佳答案

这应该相当简单 - 尽管您应该添加一些检查以确保 uidPoster 不会出现空字符串

if (post["uid"] as? String) != nil {
           let uidPoster = post["uid"] as? String
           let imageRef = FIRStorage.storage().reference().child((uidPoster)!+"/profile_pic.jpg")


            imageRef.data(withMaxSize: 25 * 1024 * 1024, completion: { (data, error) -> Void in
                if error == nil {

                    let image = UIImage(data: data!)
                    cell.UserImg.image = image

                    cell.UserImg.layer.cornerRadius = 10
                    cell.UserImg.clipsToBounds = true



                }else {

                    print("Error downloading image:" )


                }})}

关于ios - 根据 uid 访问 Firebase 存储镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764254/

相关文章:

ios - UILabel swift 的圆角

打印字符串后 xCode 控制台输出为空

swift - 如何从字符串值 Swift 中删除可选

android - 使用 Firebase 时异常无法启动 Activity ComponentInfo

ios - 根据NSUserDefaults的设置进行iOS App本地化

ios - 将闭包作为函数的可选参数传递

iOS 13 : Resize UITabBar Height Not Working

swift - 如何调试 "The default Firebase app has not yet been configured."?

swift - 如何使用 Firebase 从用户收集匿名数据

ios - 如何在覆盖上设置 UISwitch?