检查NSDocumentDirectory中的现有图像

我有一个select器,在NSDocumentDirectory保存我的形象,在这里:

  for (int i = 0; i < image.count; i++) { NSLog(@"%@", [image objectAtIndex:i]); NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES ); NSString *documentsDirec = [paths objectAtIndex:0]; NSString *savedPath = [documentsDirec stringByAppendingPathComponent:[NSString stringWithFormat:@"myImages%d.png", i]]; ALAssetRepresentation *rep = [[image objectAtIndex: i] defaultRepresentation]; UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]]; NSData *imageData = UIImagePNGRepresentation(image); [imageData writeToFile:savedPath atomically:YES]; NSLog(@"saving at:%@",savedPath); } 

如何确定或执行以检查现有的image / imageName是否已经存在。 那么如果存在一个图像,即使它仍然在拾取器中拾取,也不会添加相同的图像/图像名称。

使用下面的代码来检查文档目录中已经存在的特定图像:

 NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *imageName = [documentsPath stringByAppendingPathComponent:@"imageName.jpg"]; BOOL fileExists = [[NSFileManager defaultManager] imageName]; 

在你的代码中,你可以像这样添加它:

  for (int i = 0; i < image.count; i++) { NSLog(@"%@", [image objectAtIndex:i]); NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES ); NSString *documentsDirec = [paths objectAtIndex:0]; NSString *savedPath = [documentsDirec stringByAppendingPathComponent: [NSString stringWithFormat:@"myImages%d.png", i]]; BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:savedPath]; //Save only if file not exists if(!fileExists) { ALAssetRepresentation *rep = [[image objectAtIndex: i] defaultRepresentation]; UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]]; NSData *imageData = UIImagePNGRepresentation(image); [imageData writeToFile:savedPath atomically:YES]; NSLog(@"saving at:%@",savedPath); } } 
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"imageName.jpg"]; if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { NSLog(@"file exists at the path"); } else NSLog(@"file doesnt exist"); 

我认为这对你有帮助。

做这个:

  for (int i = 0; i < image.count; i++) { NSLog(@"%@", [image objectAtIndex:i]); NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES ); NSString *documentsDirec = [paths objectAtIndex:0]; NSString *savedPath = [documentsDirec stringByAppendingPathComponent:[NSString stringWithFormat:@"myImages%d.png", i]]; if(![[NSFileManager defaultManager]fileExistsAtPath:savedPath]) //if not exits then save image { ALAssetRepresentation *rep = [[image objectAtIndex: i] defaultRepresentation]; UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]]; NSData *imageData = UIImagePNGRepresentation(image); [imageData writeToFile:savedPath atomically:YES]; NSLog(@"saving at:%@",savedPath); } }