画像ファイルをキャッシュディレクトリに保存しています。後で、キャッシュディレクトリからすべての画像ファイルリストを取得したいと思います。次のコードを使用してすべてのファイルを取得しています。
[fileManager contentsOfDirectoryAtPath:pathForCacheDirectory error:&error]
これから画像ファイルを分離する方法。画像ファイルは任意の形式にすることができます。
前もって感謝します。
画像ファイルをキャッシュディレクトリに保存しています。後で、キャッシュディレクトリからすべての画像ファイルリストを取得したいと思います。次のコードを使用してすべてのファイルを取得しています。
[fileManager contentsOfDirectoryAtPath:pathForCacheDirectory error:&error]
これから画像ファイルを分離する方法。画像ファイルは任意の形式にすることができます。
前もって感謝します。
// Store your supported image Extensions
NSArray *extensionList = [NSArray arrayWithObjects:@"jpg", @"jpeg", @"png", @"gif", @"bmp", nil];
// Grab the content Directory
NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pathForCacheDirectory error:&error];
NSMutableArray *listOfImageFiles = [NSMutableArray arrayWithCapacity:0];
// Check for Images of supported type
for(NSString *filepath in contents){
if ([extensionList containsObject:[filepath pathExtension]])
{
// Found Image File
[listOfImageFiles addObject:filepath];
}
}
NSLog(@"Lisf of Image Files : %@",listOfImageFiles);
これを試してみてください、これが役立つことを願っています。
NSArray * contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:YOURPATH error:NULL];
NSMutableArray * onlyImages = [[NSMutableArray alloc]init];
for (NSString * contentPath in contents) {
NSString * lastPath = [contentPath pathExtension];
if ([lastPath isEqualToString:@"jpg"] || [lastPath isEqualToString:@"jpeg"] || [lastPath isEqualToString:@"png"] || /* any other */ ) {
[onlyImages addObject:contentPath]; // only images
}
}
拡張子を使用してファイルをフィルタリングできます。
NSArray *contents = [fileManager contentsOfDirectoryAtPath:pathForCacheDirectory error:&error];
for(NSString *filepath in contents){
if ([[filepath pathExtension] isEqualToString: @"png"]) {
// Your code
}
}
残忍な方法は、画像と見なすすべての拡張子を列挙することです。より良い方法は UTI を使用することです。これを確認してくださいGet the type of file in Cocoa
これを見て確認してください:
CFStringRef fileExtension = (CFStringRef) [file pathExtension];
CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);
if (UTTypeConformsTo(fileUTI, kUTTypeImage)) NSLog(@"It's an image");
else if (UTTypeConformsTo(fileUTI, kUTTypeMovie)) NSLog(@"It's a movie");
else if (UTTypeConformsTo(fileUTI, kUTTypeText)) NSLog(@"It's text");
else NSLog(@"It's audio");