目标c如何将UIImage转换为NSUrl

时间:2014-08-21 10:54:12

标签: ios objective-c iphone nsdata nsurl

在我的应用程序中,我有一个来自图像选择器的图像。我需要以NSURL的形式分享该图像。

我尝试如下

将图像转换为NSData 并将该NSData转换为NSURL。

UIImage *postImage = [UIImage imageNamed:@"sahredIcon.png"];
NSData *data = UIImageJPEGRepresentation(postImage, 1.0);

NSString *yourstring = [[NSString alloc] initWithData:your Data Name encoding:NSUTF8StringEncoding]; // Or any other encoding method
NSURL *url = [[NSURL alloc] initWithString:yourstring];

我导致空字符串异常和应用程序崩溃

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initWithString:relativeToURL:]: nil string parameter'

有没有办法将UIImage完美地转换为NSUrl&直接

1 个答案:

答案 0 :(得分:4)

您无法在NSURL对象中保存UIImage。请注意,NSURL对象表示可能包含远程服务器上资源位置的URL,即路径磁盘上的本地文件,甚至是任意一段编码数据。

如果您正在寻找资产网址,请尝试使用

-(void) imagePickerController:(UIImagePickerController *)UIPicker didFinishPickingMediaWithInfo:(NSDictionary *) info
{
    NSURL* localUrl = (NSURL *)[info valueForKey:UIImagePickerControllerReferenceURL];
}