如何解决为什么 kingfisher 使用 md5 创建 cacheFileName?
为什么 kingfisher 使用 md5 创建 cacheFileName?还有什么特别的原因吗?
// diskStorage.swift in Kingfisher
func cacheFileName(forKey key: String) -> String {
if config.usesHashedFileName {
let hashedKey = key.kf.md5
if let ext = config.pathExtension {
return "\(hashedKey).\(ext)"
} else if config.autoExtAfterHashedFileName,let ext = key.kf.ext {
return "\(hashedKey).\(ext)"
}
return hashedKey
} else {
if let ext = config.pathExtension {
return "\(key).\(ext)"
}
return key
}
}
解决方法
使用文件的 md5 作为缓存中的文件名是一种常见模式。文件更改时缓存名称会更改,而源 url 可能不会。
请注意,保留扩展名是因为在以后使用文件时可能会很方便。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。