gpt4 book ai didi

ios - 带有完成处理程序的 storageReference.downloadURL ... url 不断返回 nil

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:08 32 4
gpt4 key购买 nike

出于某种原因,当我使用 firebase 存储检索我的下载图像 URL(我已确认该图像实际上已发送到 firebase 存储)时,该 url 返回 nil。我很确定我的文件路径匹配/正确,但我不确定我哪里出错了。

let selectedImageData=UIImageJPEGRepresentation(selectedImage.image!, 1)
let storageRef=Storage.storage().reference()
let metadata=StorageMetadata()
storageRef.child("Users").child(Auth.auth().currentUser!.uid)
.child("Pictures"+String(self.tracker)).putData(selectedImageData!, metadata: metadata)
{
(metadata, error) in

if error != nil{
print("There was a problem uploading")
return
}

storageRef.child("Users").child(Auth.auth().currentUser!.uid)
.child("Pictures"+String(self.tracker)).downloadURL(completion:
{
(url, error) in

print("What's going on")
self.pictures.append((url?.absoluteString)!)
})
}

最佳答案

使用下面的代码将图片上传到存储并获取图片的返回路径

let selectedImageData=UIImageJPEGRepresentation(selectedImage.image!, 1)
self.uploadProfileImageToFirebase(data: selectedImageData)

func uploadProfileImageToFirebase(data:NSData){

let storageRef = Storage.storage().reference().child("Users").child(Auth.auth().currentUser!.uid).child("Pictures").child(String(self.tracker))
//Modify the above line as per your requirement

if data != nil {
storageRef.putData(data as Data, metadata: nil, completion: { (metadata, error) in
if(error != nil){
print(error)
return
}

// Fetch the download URL
storageRef.downloadURL { url, error in
if let error = error {
// Handle any errors
if(error != nil){
print(error)
return
}
} else {
// Get the download URL
let urlStr:String = (url?.absoluteString) ?? ""
print(urlStr)
}
}
})
}

关于ios - 带有完成处理程序的 storageReference.downloadURL ... url 不断返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51436020/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com