【发布时间】:2018-02-18 10:01:00
【问题描述】:
如何在下载实际图像之前显示预览图像。? WhatsApp 在下载其节目预览图像之前也在做类似的事情。我的问题是如何显示预览图像?
下载前预览图片...
以上图片来自 WhatsApp 应用,以便更好地理解我的问题..
【问题讨论】:
标签: ios preview imagedownload
如何在下载实际图像之前显示预览图像。? WhatsApp 在下载其节目预览图像之前也在做类似的事情。我的问题是如何显示预览图像?
下载前预览图片...
以上图片来自 WhatsApp 应用,以便更好地理解我的问题..
【问题讨论】:
标签: ios preview imagedownload
【讨论】:
这是一个使用 thumbnailURL 或 thumbnailData 的更好的解决方案,因为你有一个缓存的图像抛出无论 alamofire、SDWebImage ...
简单而完美的表现
对于 thumbnailURL,它只接受本地路径:
“文件://”。表示它的本地路径
if let path = SDImageCache.shared().defaultCachePath(forKey: item.url_thumbnail), let url = URL(string: "file://\(path)") {
attributeSet.thumbnailURL = url
}
缩略图数据
只分配本地url路径
attributeSet.thumbnailData = try? Data(contentsOf: url)
简单地调试和了解发生了什么
do {
attributeSet.thumbnailData = try Data(contentsOf: url)
} catch (let error as NSError) {
print(error)
}
【讨论】:
一种方法是让服务器使用打开的套接字连接(通常用于聊天应用程序)将完整图像的分辨率非常低的缩略图直接发送到客户端。
这样,客户端不需要触发异步下载操作来下载缩略图,因此它可以立即将缩略图呈现给用户(带有某种覆盖或模糊)
为了通过打开的套接字发送,服务器可以将低分辨率缩略图转换为base64字符串并将其作为字符串发送。
【讨论】: