Java 如何在春季从云存储生成URL文件而无需持续时间
下面是我从云存储生成的url的源代码Java 如何在春季从云存储生成URL文件而无需持续时间,java,spring,google-cloud-platform,google-cloud-storage,Java,Spring,Google Cloud Platform,Google Cloud Storage,下面是我从云存储生成的url的源代码 public String generateImageUrl(String fileName, Integer duration, String folderName) throws IOException { Credentials credentials = GoogleCredentials.fromStream(new ClassPathResource(STORAGE_FILE_NAME).getInputStream()); S
public String generateImageUrl(String fileName, Integer duration, String folderName) throws IOException {
Credentials credentials = GoogleCredentials.fromStream(new ClassPathResource(STORAGE_FILE_NAME).getInputStream());
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).setProjectId(PROJECT_ID).build().getService();
Bucket bucket = storage.get(BUCKET_NAME, Storage.BucketGetOption.fields(Storage.BucketField.values()));
logger.info("Bucket name : " + bucket.getName());
String fullImagePath = folderName + "/" + fileName;
BlobId imgId = BlobId.of(BUCKET_NAME, fullImagePath);
if(null!=imgId) {
Blob blob = storage.get(imgId);
if(null!=blob && blob.exists()) {
URL signedUrl = storage.signUrl(blob, duration, TimeUnit.MINUTES);
String imageUrl = signedUrl.toExternalForm();
logger.info("Generated image url : " + imageUrl);
return imageUrl;
}
}
return null;
}
但生成的url具有访问持续时间
如何实现它以便不提供访问持续时间???不可能创建没有访问持续时间的签名url 云存储的最大过期延迟为7天 您可以在创建签名URL时指定过期时间。任何人 谁知道URL可以访问资源,直到过期时间 因为URL已到达或用于签名URL的键已旋转 摘自 请注意,V4签名URL的过期时间不能超过7天
您还可以查看更多详细信息 不可能创建没有访问持续时间的签名url 云存储的最大过期延迟为7天 您可以在创建签名URL时指定过期时间。任何人 谁知道URL可以访问资源,直到过期时间 因为URL已到达或用于签名URL的键已旋转 摘自 请注意,V4签名URL的过期时间不能超过7天 您还可以查看更多详细信息