【问题标题】:Firebase putData functionFirebase putData 函数
【发布时间】:2018-07-20 01:37:47
【问题描述】:

我正在使用 Xcode,Swift 3。 我正在尝试为图像 (PNG) 调用 putData,这是我的代码:

let storageRef = Storage.storage().reference().child("ProductsImages").child(product.UniqueID()).child("MainImage.png")
    if let mainChosenImage = self.selectedImageToUpload
    {
        if let uploadData = UIImagePNGRepresentation(mainChosenImage)
        {
            storageRef.putData(uploadData, metadata: nil, completion:
                {
                    (StorageMetaData, error) in
                    if error != nil
                    {
                        print(error)
                        return
                    }

                    self.mainImageURL = StorageMetaData?.downloadURL()?.absoluteString
            })
        }
    }

行为是这样的 - 图像很好地保存到 Firebase,但没有调用“完成”。含义 - 它不会检查是否错误!= nil,更重要的是 - 它不会使用绝对 URL 字符串实例化 mainImageURL。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: ios swift firebase firebase-storage


    【解决方案1】:

    完成应该是这样的

     if let uploadData = UIImagePNGRepresentation(self.myImageView.image!) {
        storageRef.put(uploadData, metadata: nil) { (metadata, error) in
            if error != nil {
                print("error")
    
            } else {
    
                // your uploaded photo url.
            }
       }
    

    【讨论】:

    • 这段代码是如何工作的?它不知道完成是什么,因为它没有定义。
    • “调用中缺少参数标签‘完成’”
    • 等等,我有一个函数重载。让我试试
    • 然而,经过很长的整体之后,它确实到达了“其他”。你知道解决这个问题的更好方法吗?
    • 其实这取决于图片大小和当前网速
    猜你喜欢
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2017-11-27
    相关资源
    最近更新 更多