欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

访问七牛私有空间资源 有大用

摘要: 之前老出现401授权失败的错误,后来发现是原url中未拼接私有空间名
<?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
普通分类: