el3zahaby / cloudder
Cloudinary API 的 Laravel 包装器
Requires
- php: >=5.3.0
- cloudinary/cloudinary_php: >=1.16
Requires (Dev)
- laravel/framework: >=5.0
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.*
README
最初是从 https://github.com/jrm2k6/cloudder 分支出来的。
因为它似乎不再被维护,并且从原始维护者那里没有收到回应(已打开问题 + 打开拉取请求,去年八月的最后提交),我决定创建一个新的分支,并计划维护。
如果您有任何功能建议,请随时打开一个问题或给我发电子邮件!
安装
composer require el3zahaby/cloudder
配置
修改您的 .env
文件,添加以下来自 Cloudinary 的信息
必需
CLOUDINARY_API_KEY=012345679890123
CLOUDINARY_API_SECRET=foobarfoobarfoob-arfoobarfo
CLOUDINARY_CLOUD_NAME=foobarcorp
可选
CLOUDINARY_BASE_URL
CLOUDINARY_SECURE_URL
CLOUDINARY_API_BASE_URL
Laravel 5.5+ 使用包自动发现,因此不需要您手动添加 ServiceProvider。如果您不使用自动发现,请按照以下步骤操作
在 config/app.php 中添加以下内容
'providers' => array( El3zahaby\Cloudder\CloudderServiceProvider::class, ); 'aliases' => array( 'Cloudder' => El3zahaby\Cloudder\Facades\Cloudder::class, );
运行 php artisan vendor:publish --provider="El3zahaby\Cloudder\CloudderServiceProvider"
使用方法
upload()
Cloudder::upload($filename, $publicId, array $options, array $tags);
with
$filename
: 要上传的图像的路径$publicId
: 您想要您的图片在 Cloudinary 上拥有的 ID,留空则由 Cloudinary 生成随机 ID。$options
: 上传图像的选项,查看 Cloudinary 文档 了解更多信息$tags
: 图像的标签
返回 CloudinaryWrapper
。
uploadVideo()
Cloudder::uploadVideo($filename, $publicId, array $options, array $tags);
with
$filename
: 要上传的视频的路径$publicId
: 您想要您的视频在 Cloudinary 上拥有的 ID,留空则由 Cloudinary 生成随机 ID。$options
: 上传视频的选项,查看 Cloudinary 文档了解更多信息$tags
: 图像的标签
返回 CloudinaryWrapper
。
getPublicId()
Cloudder::getPublicId()
返回最后一个上传资源的 public id
。
getResult()
Cloudder::getResult()
返回最后一个上传资源的结果。
show() + secureShow()
Cloudder::show($publicId, array $options) Cloudder::secureShow($publicId, array $options)
with
$publicId
: 要显示的资源 public id$options
: 上传资源的选项,查看 Cloudinary 文档了解更多信息
返回 Cloudinary 上图片的 url
(如果使用 secureShow,则为 https url)。
showPrivateUrl()
Cloudder::showPrivateUrl($publicId, $format, array $options)
with
$publicId
: 要显示的资源 public id$format
: 您想要显示的资源格式 ('png', 'jpg'...)$options
: 上传资源的选项,查看 Cloudinary 文档了解更多信息
返回 Cloudinary 上图片的 private url
,默认情况下在 1 小时后过期。
rename()
Cloudder::rename($publicId, $toPublicId, array $options)
with
$publicId
: 要重命名的资源的 publicId$toPublicId
: 资源的新 publicId$options
: 上传资源的选项,查看 cloudinary 文档了解更多信息
使用 $toPublicId
id 参数重命名原始图片。
destroyImage() + delete()
Cloudder::destroyImage($publicId, array $options) Cloudder::delete($publicId, array $options)
with
$publicId
: 要移除的资源的 publicId$options
: 删除图像的选项,查看 cloudinary 文档了解更多信息
从 Cloudinary 中删除图像。
destroyImages()
Cloudder::destroyImages(array $publicIds, array $options)
with
$publicIds
: 标识要删除的图片的 ID 数组$options
: 删除图像的选项,查看 cloudinary 文档了解更多信息
从 Cloudinary 中删除图像。
addTag()
Cloudder::addTag($tag, $publicIds, array $options)
with
$tag
: 要应用的标签$publicIds
: 应用标签的图片$options
: 上传资源的选项,查看 cloudinary 文档了解更多信息
removeTag()
Cloudder::removeTag($tag, $publicIds, array $options)
with
$tag
: 要删除的标签$publicIds
: 从中删除标签的图片$options
: 上传图像的选项,查看 Cloudinary 文档了解更多信息
createArchive()
Cloudder::createArchive(array $options, $archiveName, $mode)
with
$options
:归档的选项,例如名称、标签/前缀/公共ID以选择图片$archiveName
:您想为归档提供的名称$mode
:'创建'或'download'('创建'将创建归档并返回包含归档属性的JSON响应,'下载'将返回可下载的zip文件)
在Cloudinary上创建zip文件。
downloadArchiveUrl()
Cloudder::downloadArchiveUrl(array $options, $archiveName)
with
$options
:归档的选项,例如名称、标签/前缀/公共ID以选择图片$archiveName
:您想为归档提供的名称
返回Cloudinary上新建归档的下载URL
。
运行测试
phpunit
示例
您可以在以下仓库中找到一个工作示例 cloudder-l5-example