繁体   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