gpt4 book ai didi

ios - 如何摆脱保存在 firebase 中的 url 之前的可选词?

转载 作者:搜寻专家 更新时间:2023-11-01 06:00:44 24 4
gpt4 key购买 nike

目前我正在保存存储在 firebase 数据库中的图像的 url。但是我在 url 之前得到了可选这个词。如下所示。

"Optional(https:URL.HERE)"

以下是保存发生的代码块:

if let imageData = UIImageJPEGRepresentation(image, 0.8) {
let metadata = storageRef //.child("poop/")

let uploadTask = metadata.putData(imageData, metadata: nil) { (metadata, error) in
guard let metadata = metadata else {
// Uh-oh, an error occurred!
return
}

// You can also access to download URL after upload.
storageRef.downloadURL { (url, error) in
guard let downloadURL = url else {
// Uh-oh, an error occurred!
return
}
let imgURL = url

//database integration
let ref = Database.database().reference()
let usersRef = ref.child("usersPosts")

let uid = Auth.auth().currentUser?.uid
let newUserRef = usersRef.child(uid!)
//creates a child for email and password (i think we shud store password so we can tell sumone what it is inmediatly, maybe)
newUserRef.setValue(["Image": "\(imgURL)"])
}

}

// For progress
uploadTask.observe(.progress, handler: { (snapshot) in
guard let progress = snapshot.progress else {
return
}

let percentage = (Float(progress.completedUnitCount) / Float(progress.totalUnitCount))
progressBlock(Double(percentage))
})

} else {
completionBlock(nil, "Image could not be converted to Data.")
}

最佳答案

您正在获取 Optional... 因为 imgURL 是可选的。 imgURL 是可选的,因为您从可选的 url 分配了它。

因为您已经在 guard 语句中解包了 url,所以只需使用 downloadURL 而不是创建 imgURL

删除:

let imgURL = url

并将 imgURL 的使用替换为 downloadURL,这是来自 guardurl 的正确解包版本.

newUserRef.setValue(["Image": "\(downloadURL)"])

关于ios - 如何摆脱保存在 firebase 中的 url 之前的可选词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51970069/

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