oss 对象存储说明
官网:https://help.aliyun.com/document_detail/31927.html
oss 对象存储
对象存储可选方式:服务端上传、客户端直传oss、客户端直传oss并设置回调url
客户端直传oss,设置回调url

# 获取签名(policy)和回调参数
客户端向后端服务器获取签名信息,后端服务器返回签名信息、回调参数
# 客户端直传到oss
客户端直接将对象上传到oss服务器,附带回调参数;
oss根据回调参数,想后端服务器发送回调请求(请求参数如文件路径、大小等);
应用服务器验证回调请求的authorization,验证通过向oss服务器返回响应数据
# oss向客户端返回响应数据
oss服务器收到应用服务器的响应数据后,将响应数据发送给客户端
客户端向应用服务请求获取policy、回调参数
# 获取policy、回调的应用地址
serverUrl = 'http://88.88.88.88:8888'
应用服务器返回policy、回调参数(body部分)
{
"accessid":"LTAI5tAzivUnv4ZF1azP****",
"host":"http://post-test.oss-cn-hangzhou.aliyuncs.com",
"policy":"eyJleHBpcmF0aW9uIjoiMjAxNS0xMS0wNVQyMDoyMzoyM1oiLCJjxb25kaXRpb25zIjpbWyJjcb250ZW50LWxlbmd0aC1yYW5nZSIsMCwxMDQ4NTc2MDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsInVzZXItZGlyXC8i****",
"signature":"I2u57FWjTKqX/AE6doIdyff1****",
"expire":1446727949,
"callback":"eyJjYWxsYmFja1VybCI6Imh0dHA6Ly9vc3MtZGVtby5hbGl5dW5jcy5jb206MjM0NTAiLAoiY2FsbGJhY2tCb2R5IjoiZmlsZW5hbWU9JHtvYmplY3R9JnNpemU9JHtzaXplfSZtaW1lVHlwZT0ke21pbWVUeXBlfSZoZWlnaHQ9JHtpbWFnZUluZm8uaGVpZ2h0fSZ3aWR0aD0ke2ltYWdlSW5mby53aWR0aH0iLAoiY2FsbGJhY2tCb2R5VHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9",
"dir":"user-dirs/"
}
callback使用Base64编码,解码后内容如下
{
"callbackUrl":"http://oss-demo.aliyuncs.com:23450",
"callbackBody":"filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}",
"callbackBodyType":"application/x-www-form-urlencoded"
}

客户端向oss发送文件
new_multipart_params = {
'key' : key + '${filename}',
'policy': policyBase64,
'OSSAccessKeyId': accessid,
// 设置服务端返回状态码为200,不设置则默认返回状态码204。
'success_action_status' : '200',
'callback': callbackbody,
'signature': signature,
};
oss根据回调设置,发送回调请求给应用服务器

最低0.47元/天 解锁文章
855

被折叠的 条评论
为什么被折叠?



