2016-08-31 12 views
1

어쨌든 특정 이미지 파일이 내 iPhone에 있는지 확인해야합니까? 내 이미지 이름은 IMG_123.JPG입니다. 이 이미지를 검색하고 싶으면 해당 파일을 사용하여 NSInputStream 개체를 만들고 싶습니다. 이미지가 NSBundle에 없으면 사진 라이브러리 또는 어딘가에 저장할 수 있습니다.이미지 파일을 검색하는 방법

도와주세요. 감사

UPDATE

NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 
NSString* documentsDirectory = [pathArray objectAtIndex:0]; 
NSString* dataPath = [documentsDirectory stringByAppendingPathComponent:@"IMG_2594.JPG"]; 

업데이트 2

사용자 0123을 NSData

로 변환 이미지를 피커 이미지

copyOfOriginalImage = [UIImage imageWithCGImage:[[imageAsset defaultRepresentation] fullResolutionImage]]; 

을 클릭하면 이미지를 얻기

imageData = UIImageJPEGRepresentation(copyOfOriginalImage, 1.0); 

은 그 때 나는

strEncoded=[imageData base64EncodedStringWithOptions:0]; 
+0

이미지 파일이 모래 상자의 문서 디렉토리에 있습니까 ??? –

+0

아니요 방금 내 사진 라이브러리에 저장했습니다. – Irrd

+0

전화 카메라로 찍은 이미지를 말하게 할 수 있습니다. 이미지 픽커를 사용하여 이름을 얻을 수 있습니다. – Irrd

답변

1

이미지가 될 수 있습니다 64 기수로 변환 응용 프로그램에서 documentdirectory 또는 assets 또는 appbundle에서.

이미지는 photolibrary에 있으며, 앱의 데이터베이스의 일부라고 할 수 없습니다.

그래서, 당신은 문서 디렉토리에 직접 확인합니다, 이미지가 documentdirectory에서 사용할 수 있습니다 또는 tempdirectory 또는 당신이 좋아 한 경우 customdirectory 같은 디렉토리 것을

NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

NSFileManager *manager = [NSFileManager defaultManager]; 

NSArray *filesIndir = [manager contentsOfDirectoryAtPath:path error:nil]; 

if ([filesIndir containsObject:@"IMG_123.JPG"]) { 

    NSLog(@"document directory contains : IMG_123.JPG"); 
} 

를 확인할 수 있습니다. 문서 디렉토리에 사용자 정의 디렉토리를 만들고 있다면 그 디렉토리의 경로를 제공하십시오. 이미지 앱 번들에있는 경우 이미지가 다음과 같은를 확인하실 수 있습니다 assests에있는 경우

지금 당신은 확인하기 위해, 이제

UIImage *image = [UIImage imageNamed:@"IMG_123.JPG"]; 

if (image) { 

    NSLog(@"yes image available in app bundle"); 
} 

, 그것을 좋아

UIImage *image2 = [UIImage imageNamed:@"IMG_123"]; 

if (image2) { 

    NSLog(@"yes image available in assets"); 
} 

를 확인하실 수 있습니다 사진 라이브러리에서 이미지를 사용할 수 있습니다. 이것은 모든 이미지 목록을 가지고 있어야하며 사용 가능한지 여부를 확인할 수있는 약간 중요한 작업입니다. 이를 위해서는 ALAssetsLibrary을 사용해야합니다.

이 문제를 관리하려면 This SO answer을 참조하십시오.

this so post도 참조 할 수 있습니다.

+0

sofar에서 수행 한 작업은 자산 라이브러리에서 이미지 이름을 가져 오는 것입니다. 그럼 나는 그것의 실제 경로를 찾고 싶다. 내 업데이트 된 질문을 참조하십시오. 이제 NSInputStream을 사용하여이 실제 파일을 읽고 싶습니다. – Irrd

+0

그것은 내가했던 방식대로 정확하고, NSInputStream을 사용하여이 경로를 사용하여 실제 파일을 읽을 수 있습니까? – Irrd

+0

달성하고자하는 것은 무엇입니까? 정보 요청 – Lion