我正在从iPhone相机保存图像,我管理委托方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
我需要知道:
[info objectForKey:UIImagePickerControllerReferenceURL]
但是如果我只拍了一张照片总是零,如果不同于nil加载来自相机胶卷的照片。 那是为什么?
答案 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]];
}
编辑:您问为什么图片的网址为零。如您所见,捕获的图像永远不会保存在设备的存储中。在内存中拥有图片的一个好处是,您可以在将其存储在设备上或通过网络发送之前对其进行处理。