根据 uid 访问 Firebase 存储图像
Access Firebase storage images based on uids
我有一个应用程序,我将每个用户的个人资料图片存储在 firebase 存储中。这是我用来存储个人资料图片的路径:
FIRStorage.storage().reference(forURL: "gs://gsignme-15916.appspot.com").child(user.uid+"/profile_pic.jpg")
当我尝试使用此代码访问个人资料图片时,我还使用它们 url.But 将图像存储在 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:" )
}})}
而且我换了用户,图片变成了当前用户的图片,而不是制作post的用户。我知道问题在于我如何检索图像,但我不确定如何根据不是当前登录用户的 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:" )
}})}
我有一个应用程序,我将每个用户的个人资料图片存储在 firebase 存储中。这是我用来存储个人资料图片的路径:
FIRStorage.storage().reference(forURL: "gs://gsignme-15916.appspot.com").child(user.uid+"/profile_pic.jpg")
当我尝试使用此代码访问个人资料图片时,我还使用它们 url.But 将图像存储在 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:" )
}})}
而且我换了用户,图片变成了当前用户的图片,而不是制作post的用户。我知道问题在于我如何检索图像,但我不确定如何根据不是当前登录用户的 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:" )
}})}