使用 SDWebImage 并将图像保存到 public 个图库

Using SDWebImage and saving image to public gallery

我正在为我的 iOS 项目使用 SDWebImage。基于URL提取图片时,SDWebImage有很好的特点,可以将图片缓存在内存中,也可以缓存在磁盘中。但是,我们是否也可以让图片(由 SDWebImage 缓存)在图片库中可用?这允许用户查看他们使用照片库下载的图片,也允许其他应用程序使用这些图片。

你可以在 SDWebImage 将它加载到你的 UIImageView 之后获取图像,如下所示:

[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
        }
    }
];

我使用这个库将照片保存到自定义相册:

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

下面是使用这个库的示例代码:

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

更新:您也可以使用 ALAssetsLibrary 从相册加载图像。这是一个例子:

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