为了账号安全,请及时绑定邮箱和手机立即绑定

如何为 Google 存储创建文件大小有限的签名 URL?

如何为 Google 存储创建文件大小有限的签名 URL?

Go
BIG阳 2022-06-21 16:06:39
我正在尝试创建一个签名的上传 URL,以便客户端可以将文件直接上传到 Google 存储桶,并且我想防止用户上传大文件。因此,我想定义可以通过官方 Go SDK 通过签名 URL 上传的最大文件大小。不幸的是,我找不到任何例子。这可能吗?您如何将文件大小限制为 1mb?
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您正在寻找storage.GenerateSignedPostPolicyV4,它允许您通过PostPolicyV4Options https://cloud.google.com/storage/docs/authentication/signatures#policy-document设置策略文档


storage.GenerateSignedPostPolicyV4("my-bucket", "my-object.txt", &storage.PostPolicyV4Options{

        Conditions: []storage.PostPolicyV4Condition{

            storage.ConditionContentLengthRange(0, 1<<20),

        },

})


查看完整回答
反对 回复 2022-06-21
?
弑天下

TA贡献1818条经验 获得超8个赞

策略文档可让您更好地控制上传到 Cloud Storage 的对象,通过此功能,您可以控制每次上传必须满足的一系列条件。

由于您需要控制需要上传的对象的大小,我建议您看一下这里指出的这个示例:

{"expiration": "2020-06-16T11:11:11Z", "conditions": [
  ["starts-with", "$key", ""],
  {"bucket": "travel-maps"},
  {"success_action_redirect": "http://www.example.com/success_notification.html"},
  ["eq", "$Content-Type", "image/jpeg"],
  ["content-length-range", 0, 1000000],
  {"x-goog-algorithm": "GOOG4-RSA-SHA256"},
  {"x-goog-credential": "example_account@example_project.iam.gserviceaccount.com/20191102/auto/storage/goog4_request"},
  {"x-goog-date": "20191102T043530Z"}
  ]}

如您所见,字段“content-length-range”, 0, 1000000] 不允许大于 1Mb 的文档。


查看完整回答
反对 回复 2022-06-21
  • 2 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信