AFNetworking中有一个方法可以方便的设置图片:
- (void)setImageWithURL:(NSURL *)url
placeholderImage:(UIImage *)placeholderImage
但是如果url图片没有扩展名(比如http://static.qyer.com/album/user/330/21/QkpVQBsHaA/670),就会出现一些问题,有时图片可以准确显示,有时却不显示。
我找到了一个方法
[AFImageRequestOperation addAcceptableContentTypes:<#(NSSet *)contentTypes#>];
我应该如何设置 contentTypes?
最佳答案
如果你curl
提供的URL,你可以看到问题:
curl -i -X HEAD http://static.qyer.com/album/user/330/21/QkpVQBsHaA/670
HTTP/1.0 200 OK<br/>
Server: nginx/1.0.11<br/>
Date: Fri, 29 Mar 2013 02:03:24 GMT<br/>
Content-Type: application/octer-stream<br/>
Last-Modified: Tue, 19 Mar 2013 09:40:23 GMT<br/>
ETag: "53430075-9814c-4d843e4fc6fc0"<br/>
Accept-Ranges: bytes<br/>
Content-Length: 622924<br/>
Powered-By-ChinaCache: MISS from 060531Q354<br/>
Powered-By-ChinaCache: MISS from 060532235y<br/>
Connection: close
Content-Type: application/octer-stream
(奇怪的是,这是 application/octet-stream
的拼写错误),不是有效的图像 mime 类型。如果您对服务器有任何控制权,我强烈建议您修复此问题以发送真实的 MIME 类型——为了访问 CDN 的每个人。
否则,我建议您添加 */*
到可接受的内容类型列表。这应该接受扔给它的任何东西。您还可以手动指定您可能希望 CDN 提供服务的任何内容类型,包括 application/octer-stream
.
关于ios - AFNetworking 设置没有扩展名的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15696166/