首页 > 代码学习

七牛云存储的云处理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

相关合集

  • 双十一哪些软件打折
双十一哪些软件打折

简介:网上购物已经是成为了一个生活中最常见的事情,现在人人都是用手机购买到自己喜欢的东西,而且有的平台会在上面有着很多的优惠券可以领取,非常实惠划算,而且在现在马上临近双十一的购物狂欢活动,这里小编也是整理一些可以在双十一真正的让你买到省钱很优惠的平台,完全是没有任何的套路,可以最省钱。