我有一个应用程序,我将每个用户个人资料图片存储在firebase存储中。这是我用来存储个人资料图片的路径:
FIRStorage.storage().reference(forURL: "gs://gsignme-15916.appspot.com").child(user.uid+"/profile_pic.jpg")
我还使用他们的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检索图像。
答案 0 :(得分:0)
这应该是相当简单的 - 尽管你应该添加一些检查,以确保你不会为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:" )
}})}