2017-04-18 33 views
0

私はFirebaseを使って簡単なアプリケーションを作っていました。画像をアップロードしていて、後でそれをダウンロードしていました。アップロードは完璧にうまくいきますが、ダウンロードしようとするとエラーが発生します。オブジェクトprofile_picsが見つかりません。私はprofile_picsという名前のフォルダを作成し、そのフォルダ内に画像を保存します。画像はありますが、ダウンロード中にエラーが発生します。ここにスクリーンショットがあります。ここでFirebaseオブジェクトが見つかりません

enter image description here

コンソールには何かということです。

エラー:Object 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 
     } 
    }) 

エラーは考えられますか?もしあなたが私にこれを案内してください。

+0

私はかなりコードをコピーして貼り付けてくれました。 GoogleスペースのURLを再確認してください。また、FirebaseコンソールにAppを追加し、正しいGoogleService-Info.plistファイルをエクスポートしてプロジェクトに追加したことを確認してください。恐らくそれは間違った場所を指しているでしょう。 – Jay

+0

@Jay info.plistファイルが正しくない場合、Firebaseストレージとリアルタイムデータベースにデータをアップロードして認証することができませんでした。しかし、それはすべてかなりうまく動作します。このダウンロードイメージだけが問題です。 –

+0

あなたは確かにprofileURLはa)nullではなく、b)ファイル名だけであり、それ自身の別のURLではありませんか? –

答えて

0

この方法で回復します。

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() 

これは機能しますか?

ニオール

関連する問題