七牛云对象存储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 下载文件即可。
需要注意的是,私有空间的文件下载链接只能被获取一次,并且有有效期限制。如果需要多次访问该文件,可以使用七牛云对象存储中的持久化处理功能将该文件转存到公共空间,并生成公共空间的永久链接。
获取私人空间的下载域名
在七牛云后台中,选择对应的存储空间,进入“域名设置”页,找到私有空间的下载域名(如: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 下载文件即可。
需要注意的是,私有空间的文件下载链接只能被获取一次,并且有有效期限制。如果需要多次访问该文件,可以使用七牛云对象存储中的持久化处理功能将该文件转存到公共空间,并生成公共空间的永久链接。
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03