2013-07-18 63 views
0

文件direcotory中的文件夹我想在文档目录中创建文件夹并希望将图像保存在该文件夹中。我已经试过,但该文件夹和图像文件被存储directory..But我想存储folder.my代码中的图像工作正常,但图像没有保存文件夹里面..保存图片位于iphone

NSError *error; 
NSString *aDocumentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
NSString *dataPath = [aDocumentsDirectory stringByAppendingPathComponent:@"Folder"]; 
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; 

NSInteger anIndex = 0; 

for (UIImage *anImage in _chosenImages) 
{ 

NSString *anImageName = [NSString stringWithFormat:@"%d.png", anIndex++]; 
NSString *anImagePath = [NSString stringWithFormat:@"%@/%@", aDocumentsDirectory, anImageName]; 
NSLog(@"the path is=%@",anImagePath); 

NSData *anImageData = UIImagePNGRepresentation(anImage); 
[anImageData writeToFile:anImagePath atomically:YES]; 
} 
+0

你确定你的图片不是jpeg吗? – chancyWu

+0

是的图像是PNG。此行中的 – Nasir

+0

NSString * anImagePath = [NSString stringWithFormat:@“%@ /%@”,aDocumentsDirectory,anImageName]; NSLog(@“path is =%@”,anImagePath);你使用文档目录,而不是dataPath所以图像不存储在文件夹 – user1548843

回答

2

我猜你的“anImagePath”仍然指向文档目录。 编辑为“数据路径”作为参数,如下

NSString *anImagePath = [NSString stringWithFormat:@"%@/%@", dataPath, anImageName]; 
+0

哦,来吧!他正在使用stringByAppendingPathComponent:方法,并且该方法本身执行该任务(在组件之前放置“/”)。 – Suryakant

0

试试这个..

[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:&error]; 

其实你的常用3传递NO在“withIntermediateDirectories”参数,如果你没有传递到这个比,如果任何中间父目录都不存在。如果任何中间路径元素对应于文件而不是目录,则此方法也会失败。