upyun 云存储
通过网页 FORM,使用 HTTP/HTTPS 直接把文件上传到又拍云存储。特别地,文中请求参数放在 HTTP/HTTPS body 中传递,请确保您上传表单格式符合 RFC 1867 协议规范。upyun的一些限制------每个上传请求只能上传一个文件,请求的参数名和参数值 区分大小写。若在上传非图片文件时使用 image-width-range,image-height-range,会返回「
通过网页 FORM,使用 HTTP/HTTPS 直接把文件上传到又拍云存储。特别地,文中请求参数放在 HTTP/HTTPS body 中传递,请确保您上传表单格式符合 RFC 1867 协议规范。
upyun的一些限制------
- 每个上传请求只能上传一个文件,请求的参数名和参数值 区分大小写。
- 若在上传非图片文件时使用
image-width-range,image-height-range,会返回「不是图片」的错误。 - 若请求中带有预处理参数(
x-gmkerl-thumb),图片处理后再保存。 - 若设置了
x-gmkerl-type参数,则图片上传完成后会返回图片的 meta 信息或主题色。
前端直接上传upyun的话,需要几个必传的参数:
var options = {
'bucket': 'allen-img.test.upcdn.net', -------------服务名
'save-key': '/{year}/{mon}/{day}/{filemd5}{.suffix}',-------------路径(自设)
'expiration': Math.floor(new Date().getTime() / 1000) + 86400---------有效期
};
// 查看更多参数:http://docs.upyun.com/api/form_api/#表单API接口简介
var policy = window.btoa(JSON.stringify(options));-----
console.log(policy)
// 从 UPYUN 用户管理后台获取表单 API
var form_api_secret = 'xxxxxxxxxxxxxxx';
// 计算签名
var signature = md5(policy + '&' + form_api_secret);
1.signature 算法
为了保证服务的安全性,使用服务的表单 API 密钥(可登录又拍云控制台查看)对 policy 进行签名,签名的结果即是 signature。
signature 生成步骤:
- 生成 policy 字符串(见 policy 算法);
- 将第 1 步中的字符串与表单 API 密钥字符串用
&拼接; - 将第 2 步中的字符串计算 md5,所得即为
signature。
例如,假设服务的表单 API 验证密钥为:cAnyet74l9hdUag34h2dZu8z7gU=
第一步,生成 policy 字符串:
eyJidWNrZXQiOiJkZW1vYnVja2V0IiwiZXhwaXJhdGlvbiI6MTQwOTIwMDc1OCwic2F2ZS1rZXkiOiIvaW1nLmpwZyJ9
第二步,第一步的字符串与表单 API 密钥字符串用 & 拼接:
eyJidWNrZXQiOiJkZW1vYnVja2V0IiwiZXhwaXJhdGlvbiI6MTQwOTIwMDc1OCwic2F2ZS1rZXkiOiIvaW1nLmpwZyJ9&cAnyet74l9hdUag34h2dZu8z7gU=
第三步,将第二步的字符串计算 md5 后即得到 signature:
646a6a629c344ce0e6a10cadd49756d4
2.Content-Secret 参数说明
文件设置 Content-Secret 后,文件将不能被直接访问,若需访问,需要在 URL 后加上 「间隔标识符」 和 「文件密钥」。
如: 间隔符为 !,Content-Secret 为 abc,图片访问方式为: https://p.upyun.com/docs/cloud/secret.jpg!abc。
| 参数 | 说明 |
|---|---|
| code | 状态码,200 表示上传成功 |
| message | URL encoding 的描述信息,ok 表示上传成功,其他的表示错误信息 |
| url | URL encoding 的文件保存路径 |
| time | UNIX UTC 时间戳,单位秒 |
| sign/no-sign | 签名,详见回调签名(旧)。使用回调签名(新)时,不存在 |
| image-width | 图片的宽。上传文件是图片时,才存在 |
| image-height | 图片的高。上传文件是图片时,才存在 |
| image-type | 图片类型。上传文件是图片时,才存在 |
| image-frames | 图片帧数。上传文件是图片时,才存在 |
| task_ids | 异步任务 ID 集。设置了 apps 参数时,才存在 |
具体详细的文档请移步这里-----------http://docs.upyun.com/api/form_api/
更多推荐



所有评论(0)