2016-06-13 5 views
3

При попытке сохранить файл из Firebase хранения, следуя пример из документов, которые я получил следующее сообщение об ошибке:Firebase магазин: пытаюсь сохранить в локальный файл выдает ошибку

Optional(Error Domain=FIRStorageErrorDomain Code=-13000 "An unknown error occurred, please check the server response." UserInfo={object=ProfilePicture/Jf2dFzI7LZNzQkOkdFfa3UWQJyH2.jpg, bucket=mapit-1333.appspot.com, NSLocalizedDescription=An unknown error occurred, please check the server response., 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!) 
      } 
     } 

ответ

2

проблема здесь в том, что вы получаете в NSPOSIXErrorDomain ошибку, указывающую, что у вас нет разрешения на запись в файл file:///local/images/\(imageName), предположительно потому, что каталог (/local) не существует, и даже если он делает , вы не h ave разрешение написать ему.

Я бы посмотрел docs на список каталогов, на которые вы можете написать, - вероятно, вы должны использовать /Documents или /tmp.

+0

не работает на устройстве ... – Xero

+0

@Xero Не работает на устройстве, так как это временный файл. Я также не знаю, почему Firebase все еще возвращает ошибку – Ewerson

+0

что такое папка для записи на устройстве? – Edu

Смежные вопросы