gpt4 book ai didi

ios - 使用 SDWebImage 忽略查询参数

转载 作者:可可西里 更新时间:2023-11-01 03:04:49 26 4
gpt4 key购买 nike

我正在使用 SDWebImage 在我的应用程序中缓存图像,但是我最近遇到了一个问题,即应该被缓存的图像不断刷新。仔细研究后,我发现来自 AWS 的完整图像 url 实际上正在发生变化,这是因为附加在 url 末尾的参数。每次我获取包含图像 url 的对象时,图像 url 都会返回动态“签名”和“过期”参数(出于安全目的)。就图像缓存而言,这是一个不同的 url,但请注意图像的相同路径。

第一次获取:

https://myapp.s3.amazonaws.com/path/image123.jpeg?AWSAccessKeyId=SOMEKEY&Signature=vrUFlMFEQ9fqQ%3D&Expires=1441702633

1 秒后再次获取:

https://myapp.s3.amazonaws.com/path/image123.jpeg?AWSAccessKeyId=SOMEKEY&Signature=2mcMxUJLyJd7E%3D&Expires=1441703105

处理这种情况的最佳方法是什么?如果 SDWebImage 可以选择忽略文件路径之外的查询参数,那当然会很棒。

最佳答案

SDWebImage 有一个允许使用自定义键的方法,这在这种情况下很有用,因为 AWS 每次调用时都会更改查询。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary    *)launchOptions
{
SDWebImageManager.sharedManager.cacheKeyFilter = ^(NSURL *url) {
url = [[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path];
return [url absoluteString];
};

// Your app init code...
return YES;
}

更多阅读:SDWebImage | Using the cache key filter

关于ios - 使用 SDWebImage 忽略查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25721048/

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