From 07db109f450b6c8a78ac69da49a8f9a893da20c3 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 02 九月 2024 17:53:02 +0800
Subject: [PATCH] 修改bug和翻译

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java
index f9973a1..6a91d7c 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java
@@ -1,9 +1,6 @@
 package com.stylefeng.guns.modular.system.util;
 
-import com.google.cloud.storage.BlobId;
-import com.google.cloud.storage.BlobInfo;
-import com.google.cloud.storage.Storage;
-import com.google.cloud.storage.StorageOptions;
+import com.google.cloud.storage.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
@@ -30,8 +27,9 @@
 		// The path to your file to upload
 		// String filePath = "path/to/your/file"
 		String fileName = file.getOriginalFilename();
+		String projectId = "i-go-gcp";
 		String bucketName = "i-go";
-		Storage storage = StorageOptions.newBuilder().setProjectId("i-go-gcp").build().getService();
+		Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
 		BlobId blobId = BlobId.of(bucketName, fileName);
 		BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build();
 		
@@ -55,12 +53,30 @@
 			storage.createFrom(blobInfo, file.getInputStream(), precondition);
 			System.out.println(
 					"File uploaded to bucket " + bucketName + " as " + fileName);
-			return "https://storage.cloud.google.com/" + bucketName + "/" + fileName + "?authuser=1";
+			makeObjectPublic(projectId, bucketName, fileName);
+			return "https://storage.googleapis.com/i-go/" + fileName;
 		} catch (IOException e) {
 			throw new RuntimeException(e);
 		}
 	}
 	
 	
+	/**
+	 * 设置对象公开访问
+	 * @param projectId
+	 * @param bucketName
+	 * @param objectName
+	 */
+	public static void makeObjectPublic(String projectId, String bucketName, String objectName) {
+		// String projectId = "your-project-id";
+		// String bucketName = "your-bucket-name";
+		// String objectName = "your-object-name";
+		Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
+		BlobId blobId = BlobId.of(bucketName, objectName);
+		storage.createAcl(blobId, Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER));
+		
+		System.out.println(
+				"Object " + objectName + " in bucket " + bucketName + " was made publicly readable");
+	}
 	
 }

--
Gitblit v1.7.1