0
私のバックエンドは要求するたびに同じ画像にURLを変更するため、Glideは変更をしなくても。 Glideが変更URLを見て無視し、署名だけをチェックしてアプリケーションに正しくキャッシュできるようにすることができるかどうかは疑問でした。強制的に署名を見るだけでキャッシュやレッドダウンのための署名が見えるので、別のURIを無視してください(Android)
ありがとうございます!
私のバックエンドは要求するたびに同じ画像にURLを変更するため、Glideは変更をしなくても。 Glideが変更URLを見て無視し、署名だけをチェックしてアプリケーションに正しくキャッシュできるようにすることができるかどうかは疑問でした。強制的に署名を見るだけでキャッシュやレッドダウンのための署名が見えるので、別のURIを無視してください(Android)
ありがとうございます!
私はここに答えが見つかりました:
Glide.with(mContext).load(new GlideUrlWithToken(image.getLink(), token))
.signature(new StringSignature(signature))
.into(imageView);
:
public class GlideUrlWithToken extends GlideUrl {
private String mSourceUrl;
public GlideUrlWithToken(String url, String token) {
super(new StringBuilder(url)
.append(token) // append the token at the end of url
.toString());
Preconditions.checkNotNull(url);
Preconditions.checkNotNull(token);
mSourceUrl = url;
Log.v(TAG, url);
}
@Override
public String getCacheKey() {
return mSourceUrl;
}
@Override
public String toString() {
return super.getCacheKey();
}
}
は、その後、あなたが次のようなグライドを呼び出すことができます。https://github.com/bumptech/glide/issues/607
あなたはこのようなgetCacheKey()メソッドをオーバーライドする必要がありますここの署名は、私のimageId +サーバからのupdatedAtの値を保持しているので、更新されると画像を再ダウンロードするべきです。