我试图从url中读取图像属性,比如:
http://www.example.com/ws/img/8因为它是一个webservice,所以我需要将身份验证传递给URL。--我不想下载图像来读取它的属性。,所以我尝试像这样使用CGImageSourceCreateWithURL:
CGImageSourceRef imageSourceRef = CGImageSourceCreateWithURL((__bridge CFURLRef)[NSURL URLWithString:@"http://admin:admin@www.example.com/ws/img/8"], NULL);
CFDictionaryRef props = CGImageSourceCopyPropertiesAtIndex(imageSourceRef, 0, NULL);但是props仍然返回null。
是否有一种通过身份验证访问图像属性的方法?(如果我通过RestKit函数下载图像,当然可以)
谢谢
发布于 2013-09-17 14:07:33
我不使用CGImageSourceCreateWithURL,而是使用具有适当身份验证的NSURLRequest,并将映像作为NSData下载,然后使用CGImageSourceCreateWithData,或者如果已经使用RestKit下载映像即可。
这将使您在验证协议时具有更大的灵活性。如果您正在执行一个基本的HTTP而不需要添加信息,那么withURL初始化程序实际上只是一个实用程序函数。
发布于 2013-09-17 15:48:19
我认为您需要考虑使用CGImageSourceCreateWithDataProvider,并使用CGDataProvider只从图像中下载所请求的信息。这将允许您使用API进行下载,这给了您添加授权头的选项。
如果您控制了服务器,那么最好是创建一个索引文件,为您提供可用图像的详细信息以及它们的大小。很明显,您正在从某个地方获取图像URL,因此它也应该同时返回一些上下文数据。
https://stackoverflow.com/questions/18852013
复制相似问题