2013-07-18 104 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」參數,如果你沒有傳遞到這個比,如果任何中間父目錄都不存在。如果任何中間路徑元素對應於文件而不是目錄,則此方法也會失敗。