要從七牛雲對象存儲的私人空間下載文件,需要先獲取該文件的下載鏈接。可以通過以下步驟來獲取:
- 獲取私人空間的下載域名
在七牛雲後臺中,選擇對應的存儲空間,進入“域名設置”頁,找到私有空間的下載域名(如:http(s)://<domain>),記下該地址備用。
- 生成下載鏈接
使用七牛雲 PHP SDK 中的 Auth 類,根據下載鏈接的過期時間和文件名等參數,生成臨時的下載鏈接。示例代碼如下:
require 'vendor/autoload.php';
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
$accessKey = '<AccessKey>';
$secretKey = '<SecretKey>';
$bucket = '<BucketName>';
// 初始化籤權對象
$auth = new Auth($accessKey, $secretKey);
// 下載鏈接有效期爲1小時
$expires = 3600;
// 文件名
$key = 'test.jpg';
// 生成私有空間文件的下載鏈接
$baseUrl = 'http(s)://<Domain>/<Path>';
$downloadUrl = $auth->privateDownloadUrl($baseUrl, $expires);其中,baseUrl是私有空間文件的訪問地址,即http(s)://<Domain>/<Path>/<FileName>,expires 是下載鏈接的有效期,單位爲秒,$downloadUrl 是生成的下載鏈接。
- 使用下載鏈接下載文件
通過瀏覽器或下載工具等方式,使用生成的下載鏈接 $downloadUrl 下載文件即可。
需要注意的是,私有空間的文件下載鏈接只能被獲取一次,並且有有效期限制。如果需要多次訪問該文件,可以使用七牛雲對象存儲中的持久化處理功能將該文件轉存到公共空間,並生成公共空間的永久鏈接。