【问题标题】:How can I get the all images which are stored in NSDocumentsDirectory in iOS?如何获取 iOS 中存储在 NSDocumentDirectory 中的所有图像?
【发布时间】:2015-01-29 10:06:44
【问题描述】:

如何从NSDocumentsDirectory 检索所有图像?我不知道图片名称,但我需要将所有图片存储在NSMutableArray。

【问题讨论】:

  • 你试过什么?您是否遍历文档目录中的所有文件并检查是否有扩展名是图像的扩展名?因为您现在的问题看起来像是一个代码请求,不受欢迎,可能会让您被否决。

标签: ios iphone nsdocumentdirectory


【解决方案1】:

试试这个家伙

-(NSMutableArray*)pullOutAllImagesInDocumentsDirectory{

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

    NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];
    NSMutableArray *imageFilePathsCollection = [[NSMutableArray alloc] init];


    for (int imageIndex=0; imageIndex<filePathsArray.count; imageIndex++) {

        NSString *strFilePath = [filePathsArray objectAtIndex:0];

        if ([[strFilePath pathExtension] isEqualToString:@"png"]||
            [[strFilePath pathExtension] isEqualToString:@"PNG"]||
            [[strFilePath pathExtension] isEqualToString:@"jpg"]) {

            [imageFilePathsCollection addObject:[filePathsArray objectAtIndex:imageIndex]];

        }
    }

    return imageFilePathsCollection;

}

注意:它会给出图片 url 路径。为了获取图像,您可以使用

[yourImageView setImage:[UIImage imageWithContentsOfFile:"Path Of Image"]];

【讨论】:

    【解决方案2】:

    我假设您指的是特定于您的应用沙箱的文档目录。如果是这样,您可以使用 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

    访问该目录

    循环浏览该目录并查找具有 .png 或 .jpg 等格式的文件。路径扩展。

    即:

    NSString *string = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    
    NSArray *array = [[NSFileManager defaultManager] contentsAtPath:string];
    for (NSString *doc in array) {
        NSLog(@"%@", doc);
        if ([doc.pathExtension isEqualToString:@"jpg"]) {
        // Is jpg image obviously you want to search for different formats also
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-30
      • 2021-07-04
      • 2012-08-12
      • 2020-10-29
      • 2021-04-05
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多