有没有办法使用AlamofireImage下载图像并获得有关下载进度的某种反馈,同时利用它的强大功能 UIImage扩展,图像过滤器和图像缓存?< / p>
我知道我可以回到简单的Alamofire.request
+ responseImage
,但我想保持简单,并使用 UIImageView扩展程序。
谢谢!
答案 0 :(得分:1)
目前没有任何方法可以在下载图像时使用AlamofireImage和UIImageView
扩展名来接收进度更新。最初没有添加的原因是它似乎并不像大多数用户需要这样的功能。我想讨论更多内容,看看这是否是我们在未来版本中实际想要添加到AlamofireImage的功能。
您是否愿意通过您的用例打开一个问题?我只想确切地知道您希望它如何工作以及为什么您实际需要进度报告。
答案 1 :(得分:1)
使用Swift 3.0.2试试这个:
let utilityQueue = DispatchQueue.global(qos: .utility)
let url = "http://kingofwallpapers.com/code/code-006.jpg"
Alamofire.download(url)
.downloadProgress(queue: utilityQueue) { progress in
print("Download Progress: \(progress.fractionCompleted)")
}
.responseData { response in
print("Response is \(response)")
if let data = response.result.value {
let image = UIImage(data: data)
}
}
答案 2 :(得分:0)
使用Alamofire下载图片与流程
下载文件w / Progress
Alamofire.download(.GET, "url...", destination: destination)
.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in
print(totalBytesRead)
// This closure is NOT called on the main queue for performance
// reasons. To update your ui, dispatch to the main queue.
dispatch_async(dispatch_get_main_queue()) {
print("Total bytes read on main queue: \(totalBytesRead)")
}
}
.response { _, _, _, error in
if let error = error {
print("Failed with error: \(error)")
} else {
print("Downloaded file successfully")
}
}