Amazon s3 generatePresignedUrl方法在Windows和Mac OS上的行为有所不同

时间:2019-06-11 23:49:32

标签: java amazon-s3 pre-signed-url

我在Java Spring应用程序中使用AmazonS3。我正在使用固定的到期日期时间,即今天的 今天+ 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();
}

有人知道为什么会这样吗?

0 个答案:

没有答案