gpt4 book ai didi

ios - 当我将新图像上传到服务器时,如何在 swift 中忽略或覆盖 UIImage 缓存?

转载 作者:行者123 更新时间:2023-12-02 04:45:38 25 4
gpt4 key购买 nike

我想让URL图像在我上传新图像时立即更新, 但它总是显示以前上传的图像。

func changeUserIMG(imgURL:String){

if let url = URL(string: imgURL) {

URLSession.shared.dataTask(with: url, completionHandler: {(data,responds,error) in
if error != nil{
print(error!.localizedDescription)
}
else if let imageData = data{
DispatchQueue.main.async {
self.userImage.image = UIImage(data: imageData)
}
}
}).resume()

}
}

是否有办法覆盖或忽略 UIImage chache?

编辑:

func changeUserIMG(imgURL:String){

if let url = URL(string: imgURL) {

let request = URLRequest.init(url: url, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: 60)
URLSession.shared.dataTask(with: request,completionHandler: {(data,responds,error) in
if error != nil{
print(error!.localizedDescription)
}else{
DispatchQueue.main.async {
self.userImage.image = UIImage(data: data!)
}
}
}).resume()

}

即使我尝试使用.reloadIgnoringLocalCacheData,仍然显示以前上传的图像。

问题出在哪里?

最佳答案

我找到了一些清除 URLSession 缓存的方法:

1) 将 URLSession.shared 替换为 URLSession(configuration: URLSessionConfiguration.ephemeral)

2) 在重新加载数据之前添加此方法:URLCache.shared.removeAllCachedResponses()

关于ios - 当我将新图像上传到服务器时,如何在 swift 中忽略或覆盖 UIImage 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58328687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com