在写问题之前,我会说我在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存储中的几个图像中。
提前谢谢!
答案 0 :(得分:0)
文件夹名称应以大写字母开头。