手机游戏
经典单机
角色扮演
休闲益智
动作冒险
射击枪战
赛车竞速
模拟经营
解密闯关
策略战争
手机软件
时尚购物
体育运动
资讯阅读
教育学习
摄影摄像
生活服务
效率办公
聊天社交
视频盒子
其它软件
新闻资讯
游戏攻略
软件教程
游戏问答
软件资讯
软件技术
叨叨念念
网站技术
技术问答
软件教程
资源资料
原创作品
代码学习
网页设计
网络技术
合集
合集
游戏合集
软件合集
资讯合集
视频合集
首页 > 代码学习 > 代码学习

七牛云存储的云处理API接口-处理结果另存(saveas)

作者:星知苑 时间:2014-07-24 20:52:54

对于玩过七牛云存储的人来说,七牛的文档水平和sdk垃圾的钥要死,还经常出现错误。经常关键性的地方没有代码文档,靠自己慢慢测试,废话不多说了。

 

处理结果另存(saveas)是云处理操作,将云处理结果作为资源保存到指定空间内,并赋以指定Key。保存成功后,下一次可直接通过指定Key来访问该资源,以达到提升下载速度的效果。

官方接口规格:saveas/<EncodedEntryURI>/sign/<Sign>

 

以下是PHP代码使用saveas云处理生成图片缩略图。[break]

图片原始地址(七牛二级域名):http://xzyres.qiniudn.com/Tulips.jpg

图片原始地址(绑定自己的域名):http://pic.myxzy.com/Tulips.jpg

 

1、在下载URL(不含Scheme部分,即去除http://)后附加saveas接口(不含签名部分):

NewURL = URL + "|saveas/<EncodedEntryURI>"

 

<EncodedEntryURI>值获取:

entry = '<Bucket>:<Key>'

encodedEntryURI = urlsafe_base64_encode(entry)

urlsafe_base64_encode函数说明:URL安全的Base64编码适用于以URL方式传递Base64编码结果的场景。该编码方式的基本过程是先将内容以Base64格式编码为字符串,然后检查该结果字符串,将字符串中的加号+换成中划线-,并且将斜杠/换成下划线_,同时尾部保持填充等号=。

 

2、使用SecretKey对新的下载URL进行HMAC1-SHA1签名:

Sign = hmac_sha1(SecretKey, NewURL)

 

3、对签名进行URL安全的Base64编码:

EncodedSign = urlsafe_base64_encode(Sign)

 

4、在新的下载URL后拼接签名参数:

FinalURL = "http://"+NewURL + "/sign/<AccessKey>:<EncodedSign>"

<?php
//urlsafe_base64_encode函数
function urlsafe_base64_encode($data) {
   $data = base64_encode($data);
   $data = str_replace(array('+','/'),array('-','_'),$data);
   return $data;
 }

$accessKey = '************************';
$secretKey = '************************';

//生成EncodedEntryURI的值
$entry='xzyres:thum-Tulips.jpg';//<Key>为生成缩略图的文件名
$encodedEntryURI=urlsafe_base64_encode($entry);//生成的值:eHp5cmVzOnRodW0tVHVsaXBzLmpwZw==

//使用SecretKey对新的下载URL进行HMAC1-SHA1签名
$newurl_1 = "pic.myxzy.com/Tulips.jpg?imageView/2/w/200/h/200|saveas/".$encodedEntryURI;
$newurl_2 = "xzyres.qiniudn.com/Tulips.jpg?imageView/2/w/200/h/200|saveas/".$encodedEntryURI;
$sign_1 = hash_hmac("sha1", $newurl_1,$secretKey, true);
$sign_2 = hash_hmac("sha1", $newurl_2,$secretKey, true);

//对签名进行URL安全的Base64编码
$encodedSign_1 = urlsafe_base64_encode($sign_1);
$encodedSign_2 = urlsafe_base64_encode($sign_2);

//最终得到的完整下载URL
$finalURL_1 = "http://".$newurl_1."/sign/".$accessKey.":".$encodedSign_1;
$finalURL_2 = "http://".$newurl_2."/sign/".$accessKey.":".$encodedSign_2;
?>

 

云处理API连接

1、自己绑定的域名:http://pic.myxzy.com/Tulips.jpg?imageView/2/w/200/h/200|saveas/eHp5cmVzOnRodW0tVHVsaXBzLmpwZw==/sign/_jtuLhteiFKvfIJfwVLGFbn6VXF01170Cack8X3g:-LFcA0dsY40QDzm6hMyqMzeVWTM=

2、七牛二级域名:http://xzyres.qiniudn.com/Tulips.jpg?imageView/2/w/200/h/200|saveas/eHp5cmVzOnRodW0tVHVsaXBzLmpwZw==/sign/_jtuLhteiFKvfIJfwVLGFbn6VXF01170Cack8X3g:lvYWRcntWQYeTEZtQG8rYQJsFpM=

 

处理后可以通过缩略图key来访问了

自己域名直接访问缩略图key:http://pic.myxzy.com/thum-Tulips.jpg

七牛二级域名访问缩略图key:http://xzyres.qiniudn.com/thum-Tulips.jpg

良心推荐

热门手游推荐
  • 零界之痕安卓版
  • 萝莉养成计划手游
  • 光遇下载官方
  • 王者荣耀下载最新版本
  • 和平精英下载2021最新版
  • 万国觉醒手游官方下载
随着手游的崛起,越来越多的人对手机游戏也更加看好,很多游戏完全可以媲美PC端;小编今天推荐几款目前在市面上比较流行的手机游戏,在氪金方面都不算多,也不需要花费很长的时间,这几款游戏在画面上都做的非常的精细,难度也并不大,喜欢玩游戏的可以下载试试,还有很多的福利等着你。

相关资讯