【问题标题】:Firebase storage for image uploads用于图片上传的 Firebase 存储
【发布时间】:2019-12-04 04:46:21
【问题描述】:

用于上传图片的 Firebase 存储问题:“无法使用路径初始化存储桶”

当我们尝试拉取 putData 方法时发生

我们尝试了以下方法:

storage.storage().reference().child("Images").child("image1.jpg")
reference().document(object.id).setData(data,merge:true)

storage.storage().reference().child("Images").child("image1.jpg")
reference().document(object.id).setData(data,merge:true)

【问题讨论】:

  • 我不明白这里发生了什么。看起来您正在同时使用 Cloud Storage 和 Cloud Firestore。

标签: ios swift firebase-storage


【解决方案1】:

我了解到您在存储图片时遇到问题,试试这个方法

    let imageName = "image1.jpg"
    let image = UIImage(named: imageName)    
    let store = Storage.storage()        
    let metadata = StorageMetadata()
    metadata.contentType = "image/jpeg"
    let imageData: Data = UIImageJPEGRepresentation(image, 0.5)!
    let storeRef = store.reference().child("Images")
    let _ = storeRef.putData(imageData, metadata: metadata) { (metadata, error) in
        guard let _ = metadata else {
            print("error occurred: \(error.debugDescription)")
            return
        }
        let pat = (metadata?.downloadURL()?.absoluteString.description)
        let link = pat! //Link of image

    }

【讨论】:

    【解决方案2】:

    刚刚遇到此错误消息,我花了几个小时,因为它每次都会使应用程序崩溃。以前,我使用完整路径为 dev 和 prod 初始化存储桶,前缀为 gs://

    删除了 gs:// 并解决了问题:

    改变:

        if (Config.of(context).isDev) {
          FirebaseStorage.instance.bucket = "gs://dev-appname.appspot.com";
        } else {
          FirebaseStorage.instance.bucket = "gs://appname.appspot.com";
        }
    

    到:

        if (Config.of(context).isDev) {
          FirebaseStorage.instance.bucket = "dev-appname.appspot.com";
        } else {
          FirebaseStorage.instance.bucket = "appname.appspot.com";
        }
    

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2020-12-30
      • 2021-06-28
      • 2021-12-23
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 2021-07-06
      相关资源
      最近更新 更多