uyoobonga/cloudder

Laravel 的 Cloudinary API 封装

v0.7.4 2021-05-02 18:12 UTC

README

该项目是从 jrm2k6/cloudder 分支出来的,以支持最新版本的 Laravel。您可以自由地为项目做出贡献。

Build Status License Latest Version Total Downloads

最初是从 https://github.com/teepluss/laravel4-cloudinary 分支出来的。

如果您有任何想要的功能,请随时提交问题或给我发送邮件!

安装

composer require uyoobonga/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(
  JD\Cloudder\CloudderServiceProvider::class,
);

'aliases' => array(
  'Cloudder' => JD\Cloudder\Facades\Cloudder::class,
);

运行 php artisan vendor:publish --provider="JD\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: 识别要删除的图片的 IDs 数组
  • $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: 存档的选项,如名称、标签/前缀/public ids 以选择图像
  • $archiveName:您想要给存档取的名字
  • $mode:'create' 或 'download' ('create' 会创建一个存档并返回包含存档属性的 JSON 响应,'download' 将返回下载的 zip 文件)

在 Cloudinary 上创建 zip 文件。

downloadArchiveUrl()

Cloudder::downloadArchiveUrl(array $options, $archiveName)

with

  • $options: 存档的选项,如名称、标签/前缀/public ids 以选择图像
  • $archiveName:您想要给存档取的名字

返回在 Cloudinary 上新创建存档的 下载 URL

运行测试

phpunit