ios - FirebaseStorage中的图片网址不存在。,ResponseErrorDomain = com.google.HTTPStatus,ResponseErrorCode = 404}?

原文 标签 ios swift firebase firebase-realtime-database

我有将多个图像保存到firebase的代码。我更新了我的博客,之后我不得不更改我的下载网址代码。这样做之后,url不会出现在数据库中,它的“post”部分也不会出现。这个问题似乎与this问题相似。在控制台中,我得到以下错误:
Error Domain=FIRStorageErrorDomain Code=-13010“对象
电子邮件@电子邮件.COM/POST/STORGEXY.StryTy.jpg不存在。
UserInfo={object=email@email.com/post/string#.string#.jpg,
责任书={
以及:
},bucket=yubipracticearraybasicimg1.appspot.com,data=<7ba020 2265722 6f72223a 207b020 202022 636f465 2232034 30342c0a 202020 226d6573 73616765 223a2022 4e6f420 46f756e 642e2020 436f56c 642066f 7426765 7406f62 6a656374 220a2020 7d0a7d>,data_contentĩtype=application/json;charset=UTF-8,NStrasalZeDeDebug =对象电子邮件@电子邮件.COM/POST/字符串yx.StrySy.jpg不存在。RealSereRealEng= COM.GoGoLe.HtpStutsRetrySerrCo码=404 }
这两种情况都发生在我按下一个将数据发送到firebase的按钮之后。
下面是有问题的代码:
区块1:

storageRef.downloadURL { (url, error) in

       if error != nil {
           print("Failed to download url:", error!)
           return
       }

       let imageUrl = "\(String(describing: url))"
            postRef.child(autoID).setValue(imageUrl)
        }

区块2:
    storageRef.downloadURL { (url, error) in

        if error != nil {
           print("Failed to download url:", error!)
               return
          }

      let imageUrl = "\(String(describing: url))"
//           let value = ["Image\(self.number)": imageUrl]  as [String : Any]
                 let value = [autoID: imageUrl]  as [String : Any]
                     postRef.updateChildValues(value)
                    }

提前感谢您的帮助!

最佳答案

您可能正在为两个块中的put data方法使用不同的URL存储引用。
您可能会遇到这样的情况,其中childStorageRef与storageRef是不同的ref:

  childStorageRef.putData(uploadData, metadata: nil) { (metadata, err) in
    storageRef.downloadURL { (url, error) in

           if error != nil {
               print("Failed to download url:", error!)
               return
           }

           let imageUrl = "\(String(describing: url))"
                postRef.child(autoID).setValue(imageUrl)
            }
       }

将该引用更改为:
storageRef.putData(uploadData, metadata: nil) { (metadata, err) in
    storageRef.downloadURL { (url, error) in

       if error != nil {
           print("Failed to download url:", error!)
           return
       }

       let imageUrl = "\(String(describing: url))"
            postRef.child(autoID).setValue(imageUrl)
        }
   }

2号街区也一样。希望这有帮助!

关于ios - FirebaseStorage中的图片网址不存在。,ResponseErrorDomain = com.google.HTTPStatus,ResponseErrorCode = 404}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52007881/

相关文章:

android - 飞溅流在Container/FlatButton外部-Flutter

ios - swift 2.0 模式中缺少类型注释

string - Emoji 字符 (😎) 与简单字符,lengthOfBytesUsingEncoding 的不同结果

data-structures - 具有经典数据结构的Firebase

ios - 如何读取Firebase子值?

ios - 带有 IB 的 UITableViewHeaderFooterView

ios - 是否可能仅部分应用程序支持iPad View ?

ios - 基本分段控件不起作用

ios - Swift NSAttributedString是否呈现JavaScript?

ios - 检索新的Firebase数据-iOS Swift