【发布时间】:2017-11-06 12:56:48
【问题描述】:
我正在使用 Alamofire(适用于 Swift)和 AFNetworking(适用于 Objective c),但我都面临着同样的问题。
这是一个示例网址
“https://static.toiimg.com/photo/msid-61516774/61516774.jpg?59422”
非常基本的 URL,但是当我尝试 setImage 时,它无法加载图像。当我尝试在 Google Chrome 中加载相同的 URL 时,它很容易加载,但在 Safari 上尝试时加载失败。它只是下载图像。
谁能建议我可以做些什么来处理此类 URI?
我在我的代码中没有做任何花哨的事情。非常基本的 Alamofire/Afnetworking
setImageWithUrl:PlaceHolderImage: 两者的方法。
提前致谢。
【问题讨论】:
-
显示setImage代码
-
如果您使用AFNetworking 的相应方法,例如使用completionHandler(如
setImageWithURLRequest:placeholderImage:success:failure:),您就会明白为什么它会失败。它给了我这个:“错误域=com.alamofire.error.serialization.response Code=-1016”请求失败:不可接受的内容类型:图像/jpg“用户信息={NSLocalizedDescription=请求失败:不可接受的内容类型:图像/ .jpg”。您可能会开始对此进行挖掘,响应的内容类型可能设置错误。 -
像这样使用“SDWebImage”它的工作原理:imageview.sd_setImage(with: URL(string: "static.toiimg.com/photo/msid-61516774/61516774.jpg?59422"), completed: nil)
-
要在@Dix 答案上添加信息,SDWebImage 似乎会检查数据 (github.com/rs/SDWebImage/blob/master/SDWebImage/…) 而不是仅依赖标头。
标签: ios uiimageview afnetworking alamofire alamofireimage