簡體   English   中英

將對象上傳到Google Cloud Storage

[英]Upload objects to Google Cloud Storage

遵循@ brandon-yarbrough在此SO 問題中提供的答案之后,我選擇使用Signed URL將對象上傳到雲存儲。 我通過google-cloud-storage庫生成簽名的URL,如下所示:

private static Storage storage = StorageOptions.getDefaultInstance().getService();

URL uploadUrl = storage.signUrl(
            BlobInfo.newBuilder(IMAGE_BUCKET, fileName).build(),
            30,
            TimeUnit.MINUTES,
            Storage.SignUrlOption.httpMethod(HttpMethod.PUT));

當我嘗試將文件上傳到生成的URL時,出現以下錯誤。

<?xml version='1.0' encoding='UTF-8'?>
<Error>
    <Code>AccessDenied</Code>
    <Message>Access denied.</Message>
    <Details>Anonymous users does not have storage.objects.create access to bucket the-awesomest-bucket.</Details>
</Error>

我對簽名URL的理解是,用戶無需進行身份驗證,因此允許匿名用戶上傳數據,而無需我對存儲桶設置任何特殊權限。 我想念什么嗎?

“內容類型”參數是可選的,但是,如果您未定義它,則默認為“二進制/八位字節流”。 當您嘗試上傳具有其他內容類型的圖像時,會遇到簽名不匹配的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM