2013-03-29 118 views
1

有在AFNetworking一个方法,可以方便地设置图像:AFNetworking设置图像没有扩展

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

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

我发现了一个方法

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

我应该如何设置CONTENTTYPES?

回答

2

如果curl提供的网址,就可以看到问题:

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类型 - 为了每个人访问CDN。

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