我正在使用SDWEBIMAGE
库在我的应用中ImageView
显示图片。
我被卡在SDWEBIMAGE
缓存中查找存储图像的唯一文件路径。我需要一个特定Image的文件路径,该文件路径是应用程序文档目录中缓存图像中的URL。
因此,对于每个URL,imagepath必须是唯一的。
我经历了这个This Discussion链接但没有运气。
任何帮助将不胜感激。
答案 0 :(得分:2)
要查找缓存,请使用queryDiskCacheForKey:done:方法。如果 该方法返回nil,表示缓存当前没有 图片。因此,您负责生成和缓存它。该 缓存键是要缓存的映像的应用程序唯一标识符。 它通常是图像的绝对URL。
SDImageCache *imageCache = [[SDImageCache alloc] initWithNamespace:@"myNamespace"];
[imageCache queryDiskCacheForKey:myCacheKey done:^(UIImage *image)
{
// image is not nil if image was found
}];
<强>更新强>
您可以像这样获取图片的路径:
NSString *myImgKey;//this is the key for the image you want the path for
[[SDImageCache sharedImageCache] defaultCachePathForKey:myImgKey];
如果您不使用默认位置,可以使用:
- (NSString *)cachePathForKey:(NSString *)key inPath:(NSString *)path;
此函数返回某个键的路径,但您必须将其传递给缓存的根文件夹。
答案 1 :(得分:1)
SDwebImage始终会加密您的图片名称。但是如果要访问图像,可以使用URL作为从SDWebImage读取图像的键( - (UIImage *)imageFromDiskCacheForKey:(NSString *)key;)。请参阅SDWebImageCache。
https://github.com/rs/SDWebImage/blob/master/SDWebImage/SDImageCache.h
如果你想访问路径,你可以创建SDWebImageCache类别并使用私有方法
请参阅 - How to get filesystem path to image cached with SDWebImage (iOS)