1

AFNetworking 中有一个方法可以方便地设置图像:

 - (void)setImageWithURL:(NSURL *)url 
   placeholderImage:(UIImage *)placeholderImage

但是如果 url 图像没有扩展名(如http://static.qyer.com/album/user/330/21/QkpVQBsHaA/670),则存在一些问题,有时图像可以准确显示,有时它不是显示。

我找到了一个方法

  [AFImageRequestOperation addAcceptableContentTypes:<#(NSSet *)contentTypes#>];

我应该如何设置 contentTypes?

4

1 回答 1

2

如果您curl提供的 URL,您可以看到问题:

curl -i -X HEAD http://static.qyer.com/album/user/330/21/QkpVQBsHaA/670

HTTP/1.0 200 OK
Server: nginx/1.0.11
Date: Fri, 29 Mar 2013 02:03:24 GMT
Content-Type: application/octer-stream
Last-Modified: Tue, 19 Mar 2013 09:40:23 GMT
ETag: "53430075-9814c-4d843e4fc6fc0"
Accept-Ranges: bytes
Content-Length: 622924
Powered-By-ChinaCache: MISS from 060531Q354
Powered-By-ChinaCache: MISS from 060532235y
Connection: close

Content-Type: application/octer-stream(奇怪的是,拼写错误application/octet-stream)不是有效的图像 mime 类型。如果您对服务器有任何控制权,我强烈建议您修复此问题以发送真正的 mime 类型——为了每个访问 CDN 的人。

否则,我建议您添加*/*到可接受的内容类型列表中。这应该接受任何扔给它的东西。您还可以手动指定您可能希望 CDN 提供的任何内容类型,包括application/octer-stream.

于 2013-03-29T02:08:14.423 回答