Closed layerssss closed 10 years ago
@layerssss 谢谢您的建议,我来看下。
@longbai 抱歉,我的 patch 也许不太正确,不过我的使用场景如下:
token = Qiniu::Auth.generate_uptoken({\
scope: "puffantprodsnapshots",
deadline: (Time.now + 60.minutes).to_i,
insertOnly: 1,
saveKey: "#{SecureRandom.hex(6)}$(etag)$(suffix)", # 这里用到了魔法变量
returnBody: {url: "http://puffantprodsnapshots.qiniudn.com/$(key)"}.to_json,
})
# 理想情况下,应该使用 Qiniu::Storage.upload_with_put_policy 方法而不需要 RestClient
result = RestClient.post 'http://upload.qiniu.com/', file: file, token: token, multipart: true
@layerssss 请改用 Qiniu::Auth::PutPolicy 这个类来生成上传策略。
75 ### 授权举例
76 # put_policy.bucket | put_policy.key | key | 语义 | 授权
77 # :---------------- | :------------- | :------ | :--- | :---
78 # trivial_bucket | <nil> | <nil> | 新增 | 允许,最终key为1)使用put_policy.save_key生成的值或2)资源内容的Hash值
79 # trivial_bucket | <nil> | foo.txt | 新增 | 允许
80 # trivial_bucket | <nil> | bar.jpg | 新增 | 允许
81 # trivial_bucket | foo.txt | <nil> | 覆盖 | 允许,由SDK将put_policy.key赋值给key实现
82 # trivial_bucket | foo.txt | foo.txt | 覆盖 | 允许
83 # trivial_bucket | foo.txt | bar.jpg | 覆盖 | 禁止,put_policy.key与key不一致
@layerssss 你的需求,适用第78行那种设置。
我明白了,谢谢。
Kind regards,
Michael Yin
在 2014年8月20日,下午2:01,BluntBlade notifications@github.com 写道:
@layerssss
参考如下表格:
75 ### 授权举例 76 # put_policy.bucket | put_policy.key | key | 语义 | 授权 77 # :---------------- | :------------- | :------ | :--- | :--- 78 # trivial_bucket | | | 新增 | 允许,最终key为1)使用put_policy.save_key生成的值或2)资源内容的Hash值 79 # trivial_bucket | | foo.txt | 新增 | 允许 80 # trivial_bucket | | bar.jpg | 新增 | 允许 81 # trivial_bucket | foo.txt | | 覆盖 | 允许,由SDK将put_policy.key赋值给key实现 82 # trivial_bucket | foo.txt | foo.txt | 覆盖 | 允许 83 # trivial_bucket | foo.txt | bar.jpg | 覆盖 | 禁止,put_policy.key与key不一致
你的需求,适用第78行那个设置方法。
— Reply to this email directly or view it on GitHub.