【问题标题】:Firebase Object Not Found未找到 Firebase 对象
【发布时间】: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 完整链接在上面。我粘贴了它,但没有任何反应。

标签: ios swift firebase firebase-storage


【解决方案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()

这行得通吗?

尼尔

【讨论】:

    猜你喜欢
    • 2015-09-24
    • 1970-01-01
    • 2013-11-23
    • 2017-05-01
    • 2012-06-13
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多