【发布时间】:2020-04-15 17:53:19
【问题描述】:
使用 SDWebImage 最新的 swift 库版本在加载几个 url 时出现以下错误
下载的图片有 0 像素
以下是代码
if let url = URL(string: storeImgStr.encoded), !(storeImgStr.isEmpty) {
self.storeImg.sd_setImage(with: url, placeholderImage: UIImage(named: Constants.storeImagePlaceorderImage)) {
(image, error, cahce, url) in
if(error != nil) {
}
}
}
else {
self.storeImg.image = UIImage(named: Constants.storeImagePlaceorderImage)
}
我的网址看起来像这样由于政策问题域名已更改,无法分享确切的网址
https://tximages.mydomain.in/retailers_data_v2/retailer/320/3306-1-Aviator.jpg
以下是错误代码
Error Domain=NSURLErrorDomain Code=-1100 "(null)"
我还可以在网络浏览器中打开图片网址。
这到底是什么问题?
以下用于编码 url 的扩展
extension String {
var encoded: String {
return self.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ?? ""
}
}
更新:上面的图片网址在Chrome浏览器中可以打开,但在Safari浏览器中打不开,有什么原因吗?
【问题讨论】:
-
能否将您的扩展程序的
encoded方法显示为String?我用测试图像测试了你的代码,seems good -
更新问题请查收
-
encoded很好。使用此链接进行测试https://via.placeholder.com/468x60?text=Visit Blogging.com Now- 将其完美编码为https://via.placeholder.com/468x60?text=Visit%20Blogging.com%20Now。问题在于您的图片链接。 -
但 90% 的 url 在应用程序中运行良好,只有少数 url 无法运行
-
同样的 url 在 android 应用程序和网络浏览器中也可以正常工作
标签: ios swift iphone uiimageview sdwebimage