首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >metadata?.downloadURL()?.absoluteString

metadata?.downloadURL()?.absoluteString
EN

Stack Overflow用户
提问于 2018-05-26 04:38:53
回答 2查看 3.3K关注 0票数 0

我对旧的语法有一些问题,比如:

代码语言:javascript
复制
metadata?.downloadURL()?.absoluteString"

如何在我的代码中使用新的方法?此部件代码中存在错误:

代码语言:javascript
复制
let downloadURL = metadata?.storageReference?.downloadURLWithCompletion()

完整代码:

代码语言:javascript
复制
Storage.storage().reference().child(imgUid).putData(imgData, metadata: metadata) { (metadata, error) in
    if error != nil {
        print("Did'n upload image")
    } else {
        print("uploaded")
        let downloadURL = metadata?.storageReference?.downloadURLWithCompletion()

        if let url = downloadURL {
            self.setUser(img: url)
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-06-01 22:04:14

这是一种简单的方法,使用此函数将数据保存到FirebaseStorage,然后将url作为字符串,然后将其保存到

代码语言:javascript
复制
func uploadImageToFirebaseStorage(data: Data, onSuccess: @escaping (_ imageUrl: String) -> Void) {
    let photoIdString = NSUUID().uuidString
    let storageRef = Storage.storage().reference(forURL: Config.STORAGE_REF_URL).child(POST_REF).child(photoIdString)


    storageRef.putData(data, metadata: nil) { (metadata, error) in
        if let error = error {
            debugPrint(error.localizedDescription)
            return
        }

        metadata?.storageReference?.downloadURL(completion: { (url, error) in
            if let error = error {
                print(error.localizedDescription)
                return
            }
            onSuccess("\(url!)")
        })
    }
}
票数 1
EN

Stack Overflow用户

发布于 2018-11-02 19:35:24

代码语言:javascript
复制
func save() {
    let newPostRef = Database.database().reference().child("users").childByAutoId()
    let newPostKey = newPostRef.key

    // 1. save image
    if let imageData = self.profilPic!.jpegData(compressionQuality:0.5) {
        let storage = Storage.storage().reference().child("profileImages")
         DispatchQueue.main.sync {
        storage.putData(imageData).observe(.success, handler: { (snapshot) in
            storage.downloadURL(completion: { (url, error) in
                if error != nil {
                    print(error!.localizedDescription)
                    return
                }
                if let profileImageUrl = url?.absoluteString {
                    guard let uid = (Auth.auth().currentUser?.uid) else {return}
                    let values = ["name": self.name, "email": self.email, "profilePictureUrl": profileImageUrl]

                    newPostRef.setValue(values)
                    self.ref.child(uid).childByAutoId().setValue(values)

                    }
            })
            })

        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50536560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档