2016-04-23 7 views
0

Ich verwende SDWebImage für mein iOS-Projekt. SDWebImage hat großartige Funktionen, um das Bild sowohl im Speicher als auch auf der Festplatte zwischenzuspeichern, wenn Bilder basierend auf URL extrahiert werden. Könnten wir aber auch die Bilder (im Cache von SDWebImage) in der Bildergalerie zur Verfügung stellen? Dies ermöglicht dem Benutzer, das Bild, das sie heruntergeladen haben, mit der Foto-Kombüse zu sehen und erlaubt auch anderen Apps, die Bilder zu verwenden.SDWebImage verwenden und Bild in öffentliche Galerie speichern

Antwort

1

Sie das Bild nach SDWebImage lädt sie in Ihre UIImageView wie diese bekommen:

[self.imageView sd_setImageWithURL:url 
    placeholderImage:placeholder 
    options:options 
    progress:nil 
    completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 
     if (image) { 
      // save to photo album here 
     } 
    } 
]; 

ich diese Bibliothek verwenden, um Fotos zu einem benutzerdefinierten Fotoalbum zu speichern:

https://github.com/Kjuly/ALAssetsLibrary-CustomPhotoAlbum

Hier Beispielcode unter Verwendung dieser Bibliothek:

ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init]; 
[assetsLibrary saveImage:image toAlbum:@"YOUR_ALBUM_NAME" completion:nil failure:nil]; 

Aktualisieren: Sie können die ALAssetsLibrary auch zum Laden von Bildern aus dem Album verwenden. Hier ist ein Beispiel:

ALAssetsLibrary* assetsLibrary = [[ALAssetsLibrary alloc] init]; 
[assetsLibrary loadImagesFromAlbum:^(NSMutableArray *images, NSError *error) { 
    if (images) { 
     // ... 
    } 
}]; 
+0

Dank Mark. Speichern Sie nach dem Speichern des Fotos in einem benutzerdefinierten Fotoalbum mithilfe von ALAssetsLibrary den Zugriff auf SDWebImage, um stattdessen auf Ihr benutzerdefiniertes Fotoalbum zu zeigen. Da das Foto jetzt lokal verfügbar ist. Ich glaube, SDWebImage hat ein Ablaufdatum für die Zwischenspeicherung auf der Festplatte (ich könnte falsch liegen). – Calvin

+0

Hängt wirklich von Ihrem Anwendungsfall ab. Wenn Sie das Bild unter der URL löschen wollen, dann könnte das Sinn machen, aber wenn andere Leute noch darauf zugreifen müssen, würde ich nicht stören. – markwatsonatx

+0

Könnte Ihren Code für nicht viel Vorteil komplizieren. – markwatsonatx