Метод Amazon s3 generatePresignedUrl ведет себя по-разному в Windows и Mac OS - PullRequest
0 голосов
/ 12 июня 2019

Я использую AmazonS3 в своем приложении Java Spring.Я использую фиксированную дату истечения срока действия, которая составляет сегодня + 1 день в 12:00:00 вечера .

Для того же имени файла и даты истечения срока действия generatePresignedUrl метод производит тот же URL-адрес.Таким образом, браузер может использовать изображения из кэша.

Однако это работает только на Windows mac OS этот метод создает разные URL для каждого нового запроса, даже имя файла и срок действия совпадают.

Это мой код:

public String generateSignedUrl(String fileName) {

    LocalDateTime localDate = LocalDateTime.now().plusDays(1).withHour(12).withMinute(0).withSecond(0);
    Date expirationDate = Date.from(localDate.atZone(ZoneId.systemDefault()).toInstant());

    GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, fileName)
        .withMethod(HttpMethod.GET)
        .withExpiration(expirationDate);

    URL url = s3client.generatePresignedUrl(generatePresignedUrlRequest);

    return url.toString();
}

Кто-нибудь знает, почему это происходит?

...