Я использую 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();
}
Кто-нибудь знает, почему это происходит?