2014-10-07 2 views
1

내 응용 프로그램에서 의 쇼 이미지에 대해 SDWEBIMAGE 라이브러리를 사용하고 있습니다.응용 프로그램 디렉토리 (캐시)에서 고유 한 이미지 파일 경로 가져 오기 w.r.t SDWEBIMAGE의 서버에 저장된 이미지의 고유 URL

SDWEBIMAGE에 의해 캐시에 저장된 이미지의 고유 한 파일 경로를 찾지 못했습니다. 특정 이미지의 파일 경로가 필요합니다. 응용 프로그램의 문서 디렉토리에 캐시 된 이미지의 URL입니다.

따라서 이미지 경로는 모든 URL에 대해 고유해야합니다.

나는 이걸 통과했다. This Discussion하지만 운이 없다.

도움이 될 것입니다.

답변

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 *) key;)에서 이미지를 읽을 수 있습니다. SDWebImageCache를 참조하십시오. 당신이 경로에 액세스하려는 경우

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

여전히 당신은 개인 방법

  • (있는 NSString *) defaultCachePathForKey SDWebImageCache의 카테고리를 생성하고 사용할 수 있습니다 키 (있는 NSString *)를

참조 - How to get filesystem path to image cached with SDWebImage (iOS)

+0

이 방법은 "UIImage"를 반환합니다. 그러나 어떻게 각 이미지의 경로를 찾을 수 있습니까? –

+0

아마도'encrypt' 대신에'encode'를 의미 할 것입니다. 큰 차이가 있습니다. – zaph

+0

@Zaph, 내 응용 프로그램의 "Library"디렉토리에있는 "com.hackemist.SDWebImageCache.default"에 저장된 이미지에 액세스해야합니다. 어떤 문서 나 지침을 제공하십시오. –