Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 元数据的更新?.downloadURL().absoluteString返回字符串_Swift_Firebase_Firebase Realtime Database_Firebase Storage - Fatal编程技术网

Swift 元数据的更新?.downloadURL().absoluteString返回字符串

Swift 元数据的更新?.downloadURL().absoluteString返回字符串,swift,firebase,firebase-realtime-database,firebase-storage,Swift,Firebase,Firebase Realtime Database,Firebase Storage,我正在尝试更新元数据?.downloadURL().absoluteString,用于提取图像URL,将该URL下载为字符串,然后将图像URL上载到我的Firebase数据库。新Firebase文档中的代码返回void,我不知道如何使其返回图像URL的字符串 storageRef.putData(imageData, metadata: nil, completion: {(metadata, error) in if error != nil {

我正在尝试更新元数据?.downloadURL().absoluteString,用于提取图像URL,将该URL下载为字符串,然后将图像URL上载到我的Firebase数据库。新Firebase文档中的代码返回void,我不知道如何使其返回图像URL的字符串

storageRef.putData(imageData, metadata: nil, completion: {(metadata, error) in
                if error != nil {
                    ProgressHUD.showError(error!.localizedDescription)
                    return
                }
                //*********** Need to fix this **************
                let photoUrl = storageRef.downloadURL(completion: {imageData, error in
                    if error != nil {
                        print("Failed to download url:", error!)
                        return
                    } else {
                        //Do something with url
                    }
                    
                })
                //self.sendDatatoDatabase(photoUrl: photoUrl)
                //*******************************************
            })

metadata.downloadURL
不再存在(自2018年5月发布以来,SDK中也不存在)。要获取下载URL,现在必须在存储引用上调用
downloadURL()
,然后在回调中使用URL

因此,放置需要下载URL的您自己的代码的位置就是它现在所说的
//在您从文档中获得的代码中使用URL
。如果您想将该URL传递给``方法,则如下所示:

storageRef.putData(imageData, metadata: nil, completion: {(metadata, error) in
    if error != nil {
        ProgressHUD.showError(error!.localizedDescription)
        return
    }
    //*********** Need to fix this **************
    let photoUrl = storageRef.downloadURL(completion: {url, error in
        if error != nil {
            print("Failed to download url:", error!)
            return
        } else {
            self.sendDatatoDatabase(photoUrl: url)
        }
        
    })
})

你的问题不清楚。请注意,storageRef.downloadURL完成处理程序返回url和错误,因此将url命名为imageData会产生误导性
storageRef.downloadURL{url,如果let error=error{
print(“未能下载url:,错误)
},则会产生错误{
//在这里使用您的url
}
}
非常感谢!我还没有足够的声誉,但我已经点击了复选标记!