1

我正在尝试从以下网址读取图像属性:

http://www.example.com/ws/img/8

由于它是一个网络服务,我需要将身份验证传递给 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 功能下载图像,它当然可以)

谢谢

4

2 回答 2

1

而不是使用CGImageSourceCreateWithURL,我将使用NSURLRequest具有适当身份验证的 an 并将图像下载为 anNSData然后使用CGImageSourceCreateWithData,或者如果已经工作,则使用 RestKit 下载图像。

这将使您在身份验证协议方面具有更大的灵活性。如果您正在执行基本的 HTTP GET 而不需要额外的信息,那么 withURL 初始化程序实际上只是一个实用函数。

于 2013-09-17T14:07:33.820 回答
0

我认为您需要查看使用CGImageSourceCreateWithDataProvider和使用CGDataProvider仅从图像中下载请求的信息。这将允许您使用 API 进行下载,该 API 为您提供了添加授权标头的选项。

如果您可以控制服务器,则最好创建一个索引文件,该文件为您提供可用图像的详细信息以及它们的大小。您显然是从某个地方获取图像 URL,因此它还应该同时返回一些上下文数据。

于 2013-09-17T15:48:19.777 回答