欢迎各位兄弟 发布技术文章
这里的技术是共享的
<?php
class get_private_url extends Action {
var $privilege = Privilege::COACH_GENERAL;
function filterParam() {
$this->download_url = filter_input( INPUT_GET, 'url');
return true;
}
function exec() {
$accessKey = '';
$secretKey = '';
// 时间戳生成
$now = time();
$date = $now + 24*3600;
// 下载凭证生成
$download_url = $this->download_url."?e=".$date;
$sign = hash_hmac("sha1", $download_url, $secretKey, true);
$encodedSign = base64_encode($sign);
$token = $accessKey.":".$encodedSign;
$realdownloadurl = $download_url."&token=".$token;
return [
'realdownloadurl' => $realdownloadurl
];
}
}
原URL传递形式:http://bucketname.7xnhmh.com2.z0.glb.qiniucdn.com/2.jpg
注意:需要采用七牛SDK中给出的URL安全的Base64编码函数,或者自己来写,但要按照七牛URI的要求对其中的特殊字符统一进行转换,不能直接用PHP库函数自带的Base64编码函数。
$encodedSign = \Qiniu\base64_urlSafeEncode( $sign ) ;
来自 https://my.oschina.net/zhouyang2021/blog/537719