【问题标题】:Firebase storage not displaying imageFirebase 存储不显示图像
【发布时间】:2017-12-01 20:57:25
【问题描述】:

在写问题之前,我想说我是 iOS 开发和 firebase 的新手 :) 这就是为什么我提前为一个愚蠢的问题道歉:)

当我以编程方式从 firebase 存储加载 profile.png 图像时,它会正确加载,没有任何问题。

static func getUserImage(_ uid: String, completion: @escaping (UIImage?, NSError?) -> Void) {
        // Create a reference to the file you want to download.
        let storage = FIRStorage.storage()
        let userUID: String = String(describing: uid)
        let storageRef = storage.reference(forURL: "...some address...")
        let downloadRef = storageRef.child("\(userUID)/profilePhoto.png")

        // Download in memory with a maximum allowed size of 10MB (10 * 1024 * 1024 bytes).
        downloadRef.data(withMaxSize: 10 * 1024 * 1024) {
            data, error in
            guard let data = data, error == nil else {
                NSLog("Retrieve image failed:\n\(error?.localizedDescription)")
                completion(nil, error as! NSError)
                return
            }
            guard let image = UIImage(data: data) else {
                NSLog("Image decoding failed:\n\(data)")
                completion(nil, nil)
                return
            }
            assert(error == nil)
            completion(image, nil)
        }
    }

但是当我在浏览器中转到 firebase 存储并尝试通过 uid 从列表中手动搜索时,我找不到它 - 它不存在。你能解释一下这怎么可能吗?这个问题只存在于 Firebase 存储中的几个图像。

提前谢谢你!

【问题讨论】:

  • 存储控制台应该包含一个带有用户 UID 的“文件夹”,否则我不确定从哪里加载图像。你刷新控制台了吗?如果是这样,你能分享一下你看到的小截图吗?
  • @FrankvanPuffelen 是的,你说得对。我应该看到带有 UID 名称的“文件夹”。但它不存在。但是,当我尝试手动构建此文件夹的 url 并强制输入时(如下所示:{"some_url}/files%252FgoIRn08skBPuIFRhsN6cQv0erxx1%252F")我得到下一个屏幕 - screencast.com/t/uOSvxAxdaSI

标签: ios swift firebase firebase-storage


【解决方案1】:

文件夹名称应以大写字母开头。

【讨论】:

    猜你喜欢
    • 2018-10-30
    • 2020-04-20
    • 2017-10-11
    • 2020-10-05
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多