Iphone 检查NSDocumentDirectory中的现有映像
我有一个选择器,它将我的图像保存在Iphone 检查NSDocumentDirectory中的现有映像,iphone,ios,xcode,Iphone,Ios,Xcode,我有一个选择器,它将我的图像保存在NSDocumentDirectory中,如下所示: for (int i = 0; i < image.count; i++) { NSLog(@"%@", [image objectAtIndex:i]); NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMa
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);
}
for(int i=0;i
如何确定或实现检查现有图像/图像名称是否已存在。然后,如果存在图像,则不会添加相同的图像/图像名称,即使其仍在选择器中拾取 使用以下代码检查文档目录中是否已存在特定图像:
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);
}
}
for(int i=0;i
我认为这将对您有所帮助。请执行以下操作:
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);
}
}
for(int i=0;i
@要检查Documents目录中是否存在同名图像。对吗?是的,如果它已经存在,则不会保存同一个。代码错误。应该是:[[NSFileManager defaultManager]fileExistsAtPath:savedPath]
@skinytod谢谢。更新了答案
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);
}
}