未找到 Firebase 对象

Posted

技术标签:

【中文标题】未找到 Firebase 对象【英文标题】:Firebase Object Not Found 【发布时间】:2017-04-18 19:27:59 【问题描述】:

伙计们,我正在使用 Firebase 制作一个简单的应用程序,我正在上传一张图片,并在稍后的某个时间下载它。上传效果很好,但是当我尝试下载时出现错误提示。找不到对象 profile_pics。我创建了一个名为 profile_pics 的文件夹,并将图像存储在该文件夹中。图像在那里,但下载时出错。这是屏幕截图。

这是控制台中的内容。

错误 -: 对象 profile_pics 不存在。

这是下载图像的代码。

    let storage = FIRStorage.storage().reference(forURL: "gs://dd-dd-dd.appspot.com/profile_pics/\(profileURL)")
    print("Path Full \(storage.fullPath)")
    storage.data(withMaxSize: 11 * 1024 * 1024, completion: 
        (data, error) in
        if let error = error
            print("Error -: \(error.localizedDescription)")
        
        else
            let image = UIImage(data: data!)
            cell.profileImageView.image = image
        
    )

可能的错误是什么?如果你能指导我完成这个。

【问题讨论】:

我几乎复制并粘贴了您的代码,它对我有用。仔细检查谷歌空间 URL。哦,还要确保您在 Firebase 控制台中添加了应用程序,并且还导出了正确的 GoogleService-Info.plist 文件并将其添加到您的项目中。也许它指向了错误的位置。 @Jay 如果 info.plist 文件不正确,那么我将无法将数据上传到 Firebase 存储和实时数据库并进行身份验证。但这一切都很好。唯一的问题是这个下载图像。 你确定 profileURL 是 a) 不为空,并且 b) 只是文件名而不是它自己的一些单独的 URL? 您是否可能不小心在另一个项目中创建了 profile_pics 文件夹?代码 sn-p 中 forURL 后面的字符串应该与屏幕截图中被涂黑的字符串匹配。 我从 Firebase 复制了 url 并将其粘贴到项目 gs://todo-app-7bb96.appspot.com/profile_pics 完整链接在上面。我粘贴了它,但没有任何反应。 【参考方案1】:

我是这样恢复的。

   let url = URL(string: "\(ImageUrlSavedinDatabase)")

  let task = URLSession.shared.dataTask(with: url!)  data, response, error in
         guard let data = data, error == nil else  return 

                   DispatchQueue.main.sync() 
                   self.profilepicimageview.image = UIImage(data: data)
                   self.actIndicator.stopAnimating()
             
       
   task.resume()

这行得通吗?

尼尔

【讨论】:

以上是关于未找到 Firebase 对象的主要内容,如果未能解决你的问题,请参考以下文章

在 Firebase 中部署功能时出现 Firebase 未找到错误

Firebase 异常:对象不存在

Firebase - 未找到 GetTokenResult、getExpirationTimestamp()

未找到模块:错误:无法解析“@firebase/app”Ionic Firebase

Nuxt 2.5.0 + Firebase - 未找到依赖项

未找到 ID 为“com.google.firebase.appdistribution”的插件