我允许人们将文件发布到我的S3帐户,但我不知道他们要发布的文件名。
如何提前为他们获取签名网址,以便他们可以下载他们发布的文件?我想提前做这件事,因为我不想再次点击我的服务器了。
我正在使用ruby aws sdk。
答案 0 :(得分:1)
你不能。
您可以从S3上已存在的文件生成签名URL。在知道URL将是什么之前,您无法生成URL。
答案 1 :(得分:0)
虽然您无法在不知道密钥的情况下分发预签名网址,但您可以使用S3 POST technique生成签名策略,然后可以使用该策略上传文件。这需要构建一个简单的Web表单或其他可以创建HTTP POST请求的工具。
理想情况下,您可以为每个用户创建单独的签名策略文档,这样您就可以单独撤消访问权限。此外,该策略允许您约束最大文件大小,键前缀,文件类型和其他内容。