最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python在浏览器以HTTP POST上传文件至S3云服务
时间:2015-05-21 编辑:简简单单 来源:一聚教程网
我们可以在http页面中构造一个预先授权的http post表单,实现在浏览器端使用POST方式上传文件到S3。表单内容如下:
S3 POST Form
其中,value="upload/${filename}"为目的地址,目录会自动创建
name="success_action_redirect" value="http://your-success-page",上传成功之后的跳转页面
name="policy" value="xxxx" 用base64加密的policy字符串
name="signature" value="xxxx",用SECRET_KEY使用base64加密的签名
加密算法如下python版:
import base64 import hmac, hashlib AWS_SECRET_ACCESS_KEY = r"xxxxxx" policy_document =''' { "expiration": "2020-01-01T00:00:00Z", "conditions": [ {"bucket": "your-bucket"}, ["starts-with", "$key", ""], {"acl": "private"}, {"success_action_redirect": "http://your-success-page"}, ["starts-with", "$Content-Type", ""], ["content-length-range", 0, 1048576000] ] } ''' policy = base64.b64encode(policy_document) signature = base64.b64encode(hmac.new(AWS_SECRET_ACCESS_KEY, policy, hashlib.sha1).digest()) print policy print signature
相关文章
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31
- php双向队列解读 10-31
- Laravel异常上下文解决教程 10-24
- php数组查询元素位置方法介绍 10-24