swift - Firebase Xcode Swift - 卡在 downloadURL
问题描述
我知道 downloadURL 功能已被弃用,但我似乎无法让新的完成功能工作:
@IBAction func postButtonClicked(_ sender: Any) {
let mediaFolder = Storage.storage().reference().child("media")
if let data = UIImageJPEGRepresentation(postImage.image!, 0.5) {
mediaFolder.child("\(uuid).jpg").putData(data, metadata: nil, completion: { (metadata, error) in
if error != nil {
let alert = UIAlertController(title: "Error", message: error?.localizedDescription, preferredStyle: UIAlertControllerStyle.alert)
let okButton = UIAlertAction(title: "OK", style: UIAlertActionStyle.cancel, handler: nil)
alert.addAction(okButton)
self.present(alert, animated: true, completion: nil)
} else {
let imageURL = mediaFolder.downloadURL(completion: { (url, error) in
if error != nil {
print("error!!!!")
} else {
return url?.absoluteString
}
})
print(imageURL)
}
})
}
}
我只是无法让它工作。我总是得到错误!!!!日志中的消息,我不知道为什么。在过去的 3 个小时里,我一直在为这段代码苦苦挣扎,由于某种原因,我无法打印 imageURL。
我想要的只是让 imageURL 等于 url?.absoluteString
任何帮助将不胜感激
解决方案
您没有得到要打印的 URL,因为您没有查询正确的存储引用。
首先,检查图像是否真的上传到存储中,然后mediaFolder
在else
语句中将子 ID 添加到您的:
mediaFolder.child("\(uuid).jpg").downloadURL(completion: { (url, error) in
})
推荐阅读
- python - 网络抓取并获得了严重的列表,但它们没有用逗号分隔。我如何把它们变成一张桌子?
- android - 仅在特定设备上运行时未找到资源异常
- python - 无法使用 lxml xpath 获取 xml 元素值
- data-visualization - 表格中实时数据可视化的工具?
- php - 如何检查可变产品 ID 是否在 woocommerce 购物车中?
- android - 将对象保存在另一个对象中 - Room Android
- swift - Swift String:如何用单字符引号( " )替换两个字符( \" )?
- java - 如何使用 google OAuth2 和 Java 将 GET 请求发送到 script.google.com 网页?
- python - 如何清除循环中的 tkinter 标签以及如何在单击另一个按钮时终止循环
- node.js - 在节点快递js中的请求正文中传递数组