我使用以下代码段为AWS生成雾预签名网址:
bucket = "..."
object = "demo.jpg"
expires = Integer(Time.now + 4.hours)
headers = {}
options = { path_style: true }
fog.put_object_url(bucket, object, expires, headers, options)
这很有效 - 除了上传的对象不能被公众访问。如何将公共读取访问控制列表(ACL)应用于上载路径?
答案 0 :(得分:2)
您必须在选项哈希的“查询”键下列出这些额外参数(例如x-amz-acl,Content-Type)。
所以你的例子就是。
bucket = "..."
object = "demo.jpg"
expires = Integer(Time.now + 4.hours)
headers = {}
query = {"x-amz-acl" => "public-read"}
options = { path_style: true, query: query }
fog.put_object_url(bucket, object, expires, headers, options)
你现在可能已经解决了这个问题,但是由于缺乏周围的文档并没有让它非常直接地实现,所以其他任何人都坚持这一点。