Alamofire:图像下载请求问题
Posted
技术标签:
【中文标题】Alamofire:图像下载请求问题【英文标题】:Alamofire: Image download request issue 【发布时间】:2017-03-22 04:25:26 【问题描述】:我是 Swift 新手,我在项目中使用 Alamofire
框架,在发出下载图像请求时遇到以下问题,我正在使用以下代码:
let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(.GET, imageURL).response()
(_, _, data, _) in
let image = UIImage(data: data! as! NSData)
deiverProfileImageView.image = image
问题:
Click Here For Image Description
【问题讨论】:
【参考方案1】:试试这个:
let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.download(imageURL).responseData response in
if let data = response.result.value
let image = UIImage(data: data)
deiverProfileImageView.image = image
【讨论】:
【参考方案2】:试试下面的代码
let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(imageURL).responseData(completionHandler: response in
if let imageData = response.data
deiverProfileImageView.image = imageData
)
【讨论】:
【参考方案3】:试试这个:
让 imageUrl = "www.your_url.com"
Alamofire.download(imageUrl).responseData
response in
if let data = response.result.value
let image = UIImage(data: data)
ProfileImage.image = image
或
我认为最简单的方法是使用 SDWebImage
将此添加到您的 pod 文件中
pod 'SDWebImage', '~> 4.0'
运行 pod 安装
现在导入 SDWebImage
import SDWebImage
现在从 url 设置图像
imageView.sd_setImage(with: URL(string: "http://www.domain/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))
它会显示占位符图像,但是当下载图像时,它会显示来自 url 的图像。您的应用永远不会崩溃
这是 SDWebImage 的主要特点
为 UIImageView、UIButton、MKAnnotationView 添加网页图片和缓存管理的类别
异步图片下载器
具有自动缓存过期处理的异步内存 + 磁盘映像缓存
背景图片解压
保证不会多次下载同一个网址
保证不会一次又一次地重试虚假网址
保证主线程永远不会被阻塞 表演!
使用 GCD 和 ARC
了解更多https://github.com/rs/SDWebImage
【讨论】:
以上是关于Alamofire:图像下载请求问题的主要内容,如果未能解决你的问题,请参考以下文章