详情页

七牛云对象存储PHP如何将文件从私人空间下载?

时间:2023年12月16日

编辑:佚名

要从七牛云对象存储的私人空间下载文件,需要先获取该文件的下载链接。可以通过以下步骤来获取:
获取私人空间的下载域名
在七牛云后台中,选择对应的存储空间,进入“域名设置”页,找到私有空间的下载域名(如: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>,baseUrl是私有空间文件的访问地址,即http(s)://<Domain>/<Path>/<FileName>,expires 是下载链接的有效期,单位为秒,$downloadUrl 是生成的下载链接。
使用下载链接下载文件
通过浏览器或下载工具等方式,使用生成的下载链接 $downloadUrl 下载文件即可。
需要注意的是,私有空间的文件下载链接只能被获取一次,并且有有效期限制。如果需要多次访问该文件,可以使用七牛云对象存储中的持久化处理功能将该文件转存到公共空间,并生成公共空间的永久链接。
相关文章
猜你需要