2014-10-07 1 views
1

Я использую библиотеку SDWEBIMAGE для просмотра изображений в ImageView в моем приложении.Получить уникальный путь к файлу изображения в каталоге приложения (кэш) w.r.t уникальный URL-адрес изображений, хранящихся на сервере в SDWEBIMAGE

Я застрял в поиске уникального пути к файлу сохраненного изображения в кеше SDWEBIMAGE. Мне нужен путь к файлу конкретного изображения w.r.t, это URL-адрес в кэшированных изображениях в Document Directory приложения.

Таким образом, путь к изображению должен быть уникальным для каждого URL.

Я прошел через это This Discussion link Но не повезло.

Любая помощь будет оценена по достоинству.

ответ

2

От documentation:

Для поиска кеша используется метод queryDiskCacheForKey: done:. Если метод возвращает nil, это значит, что кэш не имеет в настоящее время изображения . Таким образом, вы отвечаете за создание и кеширование. Ключ кеша является уникальным идентификатором приложения для кэширования изображения. Это, как правило, абсолютный URL-адрес изображения.

SDImageCache *imageCache = [[SDImageCache alloc] initWithNamespace:@"myNamespace"]; 
[imageCache queryDiskCacheForKey:myCacheKey done:^(UIImage *image) 
{ 
    // image is not nil if image was found 
}]; 

UPDATE

Вы можете получить путь к изображению, как это:

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; 

Эта функция ion возвращает путь к определенному ключу, но вам придется передать его в корневую папку вашего кеша.

+0

[imageCache queryDiskCacheForKey: myCacheKey done:^(UIImage * image) Дает мне «образ», но как я могу получить PATH каждого изображения? –

+0

@SharmaVishal см. Мое обновление – Daniel

+0

Однако, что вам нужно, путь говорит мне, что вы можете сделать что-то трудное. Что вы собираетесь делать? – Daniel

1

SDwebImage всегда шифрует ваше изображение. Но если вы хотите получить доступ к изображению, вы можете использовать свой URL в качестве ключа для чтения изображения из файла SDWebImage (- (UIImage *) imageFromDiskCacheForKey: (NSString *);). См. SDWebImageCache.

https://github.com/rs/SDWebImage/blob/master/SDWebImage/SDImageCache.h

Тем не менее, если вы хотите получить доступ к пути, вы можете создать категорию SDWebImageCache и использовать частный метод

  • (NSString *) defaultCachePathForKey: (NSString *) ключ

См. - How to get filesystem path to image cached with SDWebImage (iOS)

+0

Этот метод возвращает мне «UIImage», но как я могу найти Путь каждого изображения? –

+0

Возможно, вы имеете в виду 'encode' вместо' encrypt', есть большая разница. – zaph

+0

@ Zaph, мне нужно получить доступ к изображениям, сохраненным в «com.hackemist.SDWebImageCache.default» в «Библиотечном» каталоге моего приложения. пожалуйста, предоставьте любой документ или какие-либо указания относительно него. –

 Смежные вопросы

  • Нет связанных вопросов^_^