如何从UIImagePickerController(ipad)保存实际图像路径

时间:2011-10-24 17:17:04

标签: cocoa-touch ipad uikit uiimagepickercontroller nsurl

我有一个ImagePickerController来选择一个将在绘图软件中用作背景图像的图像。

我需要实际选择图像的实际路径才能保存,以便我可以在应用关闭/打开时重新加载它。

我已经尝试保存UIImagePicker委托给出的NSURL,但它不起作用。

我在委托中得到了这样的网址:

NSURL *imageURL = [info valueForKey:UIImagePickerControllerReferenceURL];

我使用NSCoding保存/重新加载网址,然后尝试获取图像:

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageURL]];

我只需要路径才能重新加载图片......任何人都对此有所了解吗?

编辑:

我开始怀疑这样做的正确方法可能不是对uiimage本身进行编码!

2 个答案:

答案 0 :(得分:0)

您可以尝试creating bookmark data并对其进行编码,然后解码和restoring from bookmark data,而不是网址本身。 (我希望URL对象在编码和解码时能够自行处理,所以如果这解决了问题,我建议filing a bug。)

此外,如果你得到the URL's path,你可以将其传递给the imageOfContentsOfFile: method,这可能比将文件的全部内容啜饮到内存中更有效地加载图像(至少可以确定图像文件类型)。

答案 1 :(得分:-1)

尝试+dataWithContentsOfFile:代替+dataWithContentsOfURL:。我有更好的运气。