具体情况是:
某一个页面我需要从七牛私有空间请求三张证书图片资源,本地数据库中我存放的是这些证书的名称,在后台代码中我根据文件名来依次生成这些证书可以访问的私有链接地址,前端用的AngularJS框架,后台代码如下:
$coach_cert = new coach_cert ();
$results = $coach_cert->listCerts ( $this->coach_id );
//七牛空间密钥
$accessKey = '';
$secretKey = '';
// 私有空间名称
$bucket = '';
// 时间戳生成
$now = time ();
$date = $now + 60;
// 下载凭证生成
foreach ( $results as &$result ) {
$download_url = "http://" . $bucket . ".7xnhmh.com2.z0.glb.qiniucdn.com/" .$result ['filename']. "?e=" . $date;
$sign = hash_hmac ( "sha1", $download_url, $secretKey, true );
$encodedSign = base64_encode ( $sign );
$token = $accessKey . ":" . $encodedSign;
$realdownloadurl = $download_url . "&token=" . $token;
$result ['filename'] = $realdownloadurl;
}
return [
'certs' => $results
];
现在的问题是:点击查看三张证书,有时候三张证书全部能加载出来,有时候只能加载部分,不能加载的在控制台报401授权失败的错误:error: "download token auth failed"
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
ringa_lee