Как кэшировать изображения из корзины S3 с помощью динамического URL-адреса с помощью Picasso? - PullRequest
0 голосов
/ 21 июня 2019

Я использую Picasso для загрузки изображений из моей личной корзины S3 с использованием динамических URL-адресов (предварительно назначенных URL-адресов).Проблема заключается в том, что каждый раз, когда я хочу отобразить одно и то же изображение, он создает новый URL-адрес и загружает его снова, вместо того, чтобы кэшировать одно и то же изображение и показывать его.

Есть ли способ кэшировать одно и то же изображение при использованиидругой URL?

Пример кода:

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.add(Calendar.HOUR, +6);
    Date date = calendar.getTime();

    URL url = s3.generatePresignedUrl(
            "my-bucket",
            "my-image.jpg,
            date
    );
    String urlString = url.toString();

    Picasso.get()
            .load(urlString)
            .into(imageView);

Пример динамического URL:

После первого нажатия: https: //s3.us-east-2.amazonaws.com/my-bucket/my-image.jpg?….https: //s3.us-east-2.amazonaws.com/my-bucket/my-image.jpg?...&X-Amz-Signature=8733d7fc9788759a851cf12fb1d1118584ca1f7cc33dc210b3fea4f762707b*10201 as101видно, что первая часть сгенерированного URL-адреса всегда одна и та же, меняется только часть после X-Amz-Signature.

Единственная причина, по которой я использую предварительно подписанные URL-адреса, - это повышенная безопасность.Я хочу иметь личный доступ к своей корзине S3, чтобы избежать принудительной загрузки из неизвестных источников и т. Д.

...