2016-08-31 11 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"]; 

UPDATE 2

ユーザー NSDataの

に変換した画像をピッカー画像

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

をクリックすると、画像を取得します

imageData = UIImageJPEGRepresentation(copyOfOriginalImage, 1.0); 

は、それから私は、あなたのイメージは、アプリケーションでdocumentdirectoryまたはassetsまたはappbundleにすることができ

strEncoded=[imageData base64EncodedStringWithOptions:0]; 
+0

画像ファイルはサンドボックス内の文書ディレクトリにありますか? –

+0

いいえ私は自分の写真ライブラリに保存しました – Irrd

+0

電話カメラで撮影した画像を表示できます。そして、イメージピッカーを使ってその名前を得ることができます – Irrd

答えて

1

BASE64に変換します。

photolibraryにある画像は、アプリのデータベースの一部とは言えません。

だから、あなたはそれがドキュメントディレクトリに直接確認します

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"); 
} 

、ようにあなたが行った場合、あなたのイメージが documentdirectoryまたは tempdirectoryまたは customdirectoryなどの任意のディレクトリに利用可能であることを確認することができます。ドキュメントディレクトリにカスタムディレクトリを作成する場合は、そのディレクトリのパスを指定します。あなたのイメージは、アプリケーションバンドル内にある場合は、あなたのイメージは、あなたのようなことを確認することができ 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

関連する問題