gpt4 book ai didi

java - 将对象上传到 Google Cloud Storage

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:10 25 4
gpt4 key购买 nike

遵循此 SO question 中提供的答案作者:@brandon-yarbrough,我选择使用签名 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 的理解是用户不需要进行身份验证,因此允许匿名用户上传数据,而无需我在存储桶上设置任何特殊权限。我错过了什么吗?

最佳答案

“content-type”参数是可选的,但是如果您没有定义它,则它默认为“binary/octet-stream”。当您尝试上传具有不同内容类型的图像时,您会遇到签名不匹配的情况。

关于java - 将对象上传到 Google Cloud Storage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45531549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com