如何获取UIImagePickerControllerReferenceURL相机

时间:2012-10-28 17:16:16

标签: iphone objective-c camera uiimagepickercontroller save

我正在从iPhone相机保存图像,我管理委托方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

我需要知道:

[info objectForKey:UIImagePickerControllerReferenceURL]

但是如果我只拍了一张照片总是零,如果不同于nil加载来自相机胶卷的照片。 那是为什么?

1 个答案:

答案 0 :(得分:10)

如果您捕获视频,则媒体将保存在设备的存储中,您可以访问其URL。 如果捕获图像,则媒体将保存到设备的内存中,您可以访问其原始数据。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSLog(@"%@", info);

    // An image
    if([info[UIImagePickerControllerMediaType] isEqualToString:@"public.image"])
        UIImage *image=info[UIImagePickerControllerOriginalImage];

    // A video
    else
        NSURL *url=info[UIImagePickerControllerMediaURL]];
}
编辑:您问为什么图片的网址为零。如您所见,捕获的图像永远不会保存在设备的存储中。在内存中拥有图片的一个好处是,您可以在将其存储在设备上或通过网络发送之前对其进行处理。