【问题标题】:Objective c How to convert UIImage to NSUrlObjective c 如何将 UIImage 转换为 NSUrl
【发布时间】:2014-10-14 23:31:15
【问题描述】:

在我的应用程序中,我有一个从图像选择器获取的图像。我需要以 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

【问题讨论】:

  • 所以你是把图片数据转换成一个URL?这很有创意。
  • 你为什么需要它?你想要一个 url 作为 .png 资产的引用吗?
  • 这是不可能的。 Nsurl 是一个链接。所以你必须将此图像存储到该链接中
  • 你为什么不把那张图片保存在服务器上并分享那个链接。你的 iphone 不能作为服务器工作。

标签: ios objective-c iphone nsdata nsurl


【解决方案1】:

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

如果您正在寻找资产 url,试试这个

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

【讨论】:

    猜你喜欢
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2012-05-02
    • 2017-01-06
    • 2012-02-10
    相关资源
    最近更新 更多