【问题标题】:Error when downloading from Firebase storage从 Firebase 存储下载时出错
【发布时间】:2016-09-25 00:19:24
【问题描述】:

我正在尝试使用新的 Firebase 存储进行基本上传/下载。上传工作正常,但我无法将文件下载到设备。有人可以说明我做错了什么。谢谢!

func downloadAudio() {

let storageRef = FIRStorage.storage().reference()

let pathReference = storageRef.child("testAudio/audio_test.m4a")

let localURL = getDocumentsDirectory().URLByAppendingPathComponent("audio_test2.m4a")

let downloadTask = pathReference.writeToFile(localURL) { (URL, error) -> Void in
  if (error != nil) {

    print("ERROR - ", error.debugDescription)
  } else {
    print("SUCCESS - ", URL)
  }
 }
}

打印:

ERROR - Optional(Error Domain=FIRStorageErrorDomain Code=-13000 "发生未知错误,请检查服务器响应。" UserInfo={ResponseErrorDomain=NSCocoaErrorDomain, object=testAudio/audio_test.m4a, NSURL=/Users/Ben/ Library/Developer/CoreSimulator/Devices/02AF50F2-E9BE-4EED-A3BE-485D63264731/data/Containers/Data/Application/31BDED56-0135-4E70-943E-F897080768D6/Documents/,bucket=mydevslopesapp.appspot.com,ResponseErrorCode=518 , NSLocalizedDescription=发生未知错误,请检查服务器响应。})

【问题讨论】:

    标签: ios swift firebase firebase-storage


    【解决方案1】:

    这不是存储错误,实际上是您尝试写入的文件存在问题。

    看起来URLByAppengingString 应该是fileURLWithPath 以获取文件系统URL(每个NSFileManager creating directory error 518 NSFileWriteUnsupportedSchemeError)。

    从长远来看,我们需要解决这个问题并将其作为“查看相关错误”而不是“读取网络响应”。

    【讨论】:

    • 啊,工作得很好,谢谢!如果您是 Firebase 团队的一员,将其包含在文档中可能会有所帮助 :)(对于我们这些经验不足的人)
    • 在这个例子中它当前使用“NSURL(String:”firebase.google.com/docs/storage/ios/…
    • 这将起作用,因为它具有将其标识为本地文件的file:// 方案,上面的示例没有创建文件 URL,它只是创建了一个 URL(没有方案)。 fileURLWithPath 只是使用 file:// 方案创建 NSURL 的简写(参见 stackoverflow.com/questions/16097404/…
    猜你喜欢
    • 1970-01-01
    • 2021-02-13
    • 2020-07-09
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    相关资源
    最近更新 更多