2011-07-11 58 views
0

我尝试将来自相机或相册的图像保存到应用程序目录中。但我找不到我做错了什么。将图像保存在应用程序文档中

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
[picker dismissModalViewControllerAnimated:YES]; 
theimageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];  

//obtaining saving path 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:@"latest_photo.png"]; 

//extracting image from the picker and saving it 
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 
if ([mediaType isEqualToString:@"public.image"]){ 
    UIImage *editedImage = [info objectForKey:UIImagePickerControllerEditedImage]; 
    NSData *webData = UIImagePNGRepresentation(editedImage); 
    [webData writeToFile:imagePath atomically:YES]; 


    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:imagePath]; 
    if(fileExists){ 
     NSLog(@"image Exists"); 
    } 
} 
} 
+0

描述你有什么问题。 – MarkPowell

+0

为什么它返回false?如果我测试该文件是否存在? – Th3noon

+0

我在代码中看不到任何明显的错误。只需确认文档目录中是否有“latest_photo.png”文件即可。 – kthorat

回答

1

为什么不使用,

UIImage *orgImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 

哪里是失败?你有正确的图像吗?或者无法写入文档目录?

+0

你得到的图像不是问题。我在UIImageView中展示它,但是我不能将它保存在应用程序文档中。 – Th3noon

+0

Nvm你的伟大是我愚蠢的复制过去的错误.. UIImage * orgImage = [info objectForKey:UIImagePickerControllerOriginalImage];做到了:) – Th3noon

+0

@ Th3noon也许你应该接受这个答案?只需点击分数下方的刻度线即可...... – MCannon

0

检查文件是否存在于文件资源管理器中。也许编译器是正确的。

+0

不,我不能找到设备上的图像.. – Th3noon

+0

thnx你的帮助..我修好了:) – Th3noon

相关问题