Firebase存储:尝试存储到本地文件会出错

时间:2016-06-13 14:51:46

标签: ios swift firebase firebase-storage

当我尝试按照文档中的示例存储Firebase存储中的文件时,我收到以下错误:

  

可选(错误域= FIRStorageErrorDomain代码= -13000“发生未知错误,请检查服务器响应。”UserInfo = {object = ProfilePicture / Jf2dFzI7LZNzQkOkdFfa3UWQJyH2.jpg,bucket = mapit-1333.appspot.com,NSLocalizedDescription = An发生未知错误,请检查服务器响应。,ResponseErrorDomain = NSCocoaErrorDomain,NSFilePath = / local / images,NSUnderlyingError = 0x7fc8a080ab50 {Error Domain = NSPOSIXErrorDomain Code = 13“Permission denied”},ResponseErrorCode = 513})

这是我的代码:

       let storage = FIRStorage.storage()
       let storageRef = storage.referenceForURL("gs://mapit-1333.appspot.com")


       let islandRef = storageRef.child("ProfilePicture/"+uid+".jpg")
        // Create local filesystem URL
        let localURL: NSURL! = NSURL(string: "file:///local/images/island.jpg")

        // Download to the local filesystem
        let downloadTask = islandRef.writeToFile(localURL) { (URL, error) -> Void in
            if (error != nil) {
                print(error)
            } else {
                let data = NSData(contentsOfURL: URL!)
                self.profileImage.image = UIImage(data: data!)
            }
        }

1 个答案:

答案 0 :(得分:2)

此处的问题是您收到NSPOSIXErrorDomain错误,表明您无权写入文件file:///local/images/\(imageName),可能是因为该目录(/local)没有不存在,即使存在,也没有权限写入它。

我会查看docs以获取您可以写入的目录列表 - 您可能应该使用/Documents/tmp