Firebase Firestore iOS:如何将图像保存到 Firestore 中的集合中?

Firebase Firestore iOS: How can I save images to a collection in the firestore?

所以我有一个应用程序,用户可以在其中向地图添加注释,我希望这些创建的注释对每个用户都是可见和可访问的。我正在尝试将注释数据写入 Firestore,但似乎不支持图像。我还尝试将图像转换为 base64EncodedString,但随后文档超出了 1mb 的大小限制很多。 (通常为 10 MB 左右)。这是我的代码:

let strBase64UserPickedImage =  image?.pngData()?.base64EncodedString()
let strBase64DefaultImage = UIImage(named: "Image-1")?.pngData()?.base64EncodedString()

// User gave both 'warnings' and 'image' values
    if warnings != nil && image != nil {
        db.collection("jumpSpotAnnotations").addDocument(data: [

            "title": title,
            "coordinate": coords,
            "estimatedHeight": estimatedHeight,
            "locationDescription": locationDescription,
            "warnings": warnings!,
            "image": strBase64UserPickedImage!

        ]) { (error) in
            if let e = error {
                print("There was an issue saving data to firestore: \(e)")
            } else {
                print("Successfully saved data.")
            }
        }
    }

该 'if' 声明还有更多部分,但它们无关紧要。如何在不超过大小限制的情况下保存图像?如果用 Firestore 保存图像实际上是不可能的,那么还有其他方法可以使用 firebase 吗?请记住,我试图做到这一点,以便每个用户都可以访问这些注释,无论它是由谁创建的,我不是在尝试创建 userDefault 或任何东西。感谢您的帮助!

一般来说,Firestore 不适合像图片这样的大型二进制数据。首选方法是使用 Cloud Storage for Firebase 存储二进制数据,并使用 Firestore 将该图像的路径存储在您上传它的存储桶中。