2016-08-10 3 views
1

Ich versuche Bilder von Firebase Speicher zu bekommen. Ich muss das Bild erhalten, das genau den gleichen Namen hat wie der Schlüsselwert "Product":"some name" hat.Bilder von Firebase-Speicher abrufen

Zum Beispiel das Bild Namen wie dies in der url sein muss:

let productImageref = productsValue[indexPath.row]["Product"] as? String 

Wie ich die richtige url bekommen kann? Ich verstehe es nicht. Ich lese alle Dokumente und nach meinem Verständnis muss ich die "Download URL" von Firebase verwenden. Um das Bild zu bekommen benutze ich die "KingFish" 3rd Party Bibliothek, um es asynchron zu machen.

mich so versucht, aber es ist mir das Bild nicht zu geben:

let productImageref = productsValue[indexPath.row]["nicotine"] as? String 

cell!.imageView!.kf_setImageWithURL(NSURL(string: "https://firebasestorage.googleapis.com/v0/b/snuspedia.appspot.com/o/Catch%20Dry%20Eucalyptus%20White%20Mini.png?alt=media&token=68cf4b76-e35b-4868-80f3-d29872e00122")!, placeholderImage: nil) 

Gefallen Sie diesen obigen Code I Bild, das ich zu laden bekommen kann, aber muss Last anderes Bild auf jedem cell.

Was mache ich falsch? Jeder Tipp ist willkommen.

Antwort

1

Ich habe es ziemlich richtig, aber ein wenig falsch: D

Dies ist der Code, der wie ein Charme:

0

Die GS-Speicher-URL ist keine echte URL, auf die Sie jederzeit zugreifen können. Es könnte nur nach der Authentifizierung zugänglich sein. Daher kann GET HTTP-Aufruf niemals ein Bild mit GS-URL erhalten. Aus meiner Erfahrung ist es besser, die hochgeladene Bild URL wie folgt zu halten:

let reference = storage.referenceForURL(Constant.Firebase.FIREBASE_STORAGE).child(imageNameWithDate()) 

    if (picture != nil) 
    { 
     let picData = UIImageJPEGRepresentation(picture!, 0.6) 
     reference.putData(picData!, metadata: nil) { (metadata, error) in 
      if error == nil { 
       let link = metadata?.downloadURL()!.absoluteString 
       //save this link for the image URL. 
      } 
    } 
+0

Können Sie einige Variablen wie Constant, imageNameWithDate zu erklären. –

+0

Das ist nur eine einfache Methode, die ich gemacht habe, die einen Bildnamen als String basierend auf dem Intervall seit 1970 zurückgibt. –

Verwandte Themen