介绍七牛云存储和Base64格式的图片
七牛云存储是一个简单易用的云存储服务,支持存储图片、音视频等文件,并且提供 RESTful API 进行管理。Base64是一种将二进制数据编码成 ASCII 字符的方式,通常用于在文本数据中嵌入图片等二进制数据。
如果我们将一个图片保存为 Base64 格式,就可以通过直接将 Base64 字符串上传至七牛云存储,而不需要将图片保存至本地,然后再上传。
使用七牛云存储 SDK 完成图片删除
使用 PHP 调用七牛云存储 SDK 可以方便的实现图片的上传、下载、修改、删除等操作。要删除一个文件,需要知道该文件的存储空间名称和文件名。在调用 SDK 的 delete 方法时,需要将存储空间名称和文件名作为参数传递给方法。
示例代码:
use Qiniu\Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Config;
$accessKey = 'Access_Key';
$secretKey = 'Secret_Key';
// 初始化 Auth 对象
$auth = new Auth($accessKey, $secretKey);
// 存储空间的名称
$bucket = 'Bucket_Name';
// 要删除的文件名
$key = 'image.jpg';
// 初始化 BucketManager 对象
$config = new Config();
$bucketMgr = new BucketManager($auth, $config);
// 调用 delete 方法删除文件
$res = $bucketMgr->delete($bucket, $key);
if ($res === null) {
echo '文件删除成功';
} else {
echo '文件删除失败: ' . $res->message();
}
删除 Base64 格式的图片
要删除 Base64 格式的图片,需要将该图片上传至七牛云存储,然后再调用删除方法删除该文件。我们可以使用七牛云存储的 put 方法将 Base64 字符串上传至云存储中。
示例代码:
use Qiniu\Storage\UploadManager;
// 初始化 UploadManager 对象
$uploadMgr = new UploadManager();
// Base64 字符串
$base64 = '...';
// 上传至七牛云存储
list($ret, $err) = $uploadMgr->put($token, $key, $base64);
if ($err !== null) {
echo '文件上传失败: ' . $err->message();
} else {
echo '文件上传成功';
}
// 删除文件
$res = $bucketMgr->delete($bucket, $key);
if ($res === null) {
echo '文件删除成功';
} else {
echo '文件删除失败: ' . $res->message();
}
在上传 Base64 格式的文件时,需要注意以下几点:
需要在 $token 中设置 returnBody 字段,用于返回上传成功后的文件信息。
需要在 $key 中设置文件名,以保证文件的唯一性。
在调用 put 方法时,需要将 $base64 参数设置为 Base64 字符串。
在删除文件时,需要将 $key 参数设置为文件名。
结语
本文介绍了如何使用 PHP 调用七牛云存储 SDK 完成文件删除操作,并且实现了删除 Base64 格式的图片。