joshuagibeonm/cloudder

Laravel 的 Cloudinary API 封装

0.7.1 2020-09-19 16:05 UTC

README

如果您在发布时将其分支为您的,那么在 https://github.com/teepluss/laravel4-cloudinary 处为原始作者致谢可能是个不错的选择。

最初从 https://github.com/teepluss/laravel4-cloudinary 分支,然后从 https://github.com/jrm2k6/cloudder 分支。

安装

composer require joshuagibeonm/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, $isLarge);

with

  • $filename: 要上传的图像的路径
  • $publicId: 您希望在 Cloudinary 上拥有的图像 ID,留空则由 Cloudinary 生成随机 ID。
  • $options: 上传图像的选项,请参阅 Cloudinary 文档 了解更多信息
  • $tags: 图像的标签
  • $isLarge: 布尔值,表示是否需要使用 upload_large 或 upload

返回 CloudinaryWrapper

uploadVideo()

Cloudder::uploadVideo($filename, $publicId, array $options, array $tags, bool $isLarge);

with

  • $filename: 要上传的视频的路径
  • $publicId: 您希望在 Cloudinary 上拥有的视频 ID,留空则由 Cloudinary 生成随机 ID。
  • $options: 上传视频的选项,请参阅 Cloudinary 文档了解更多信息
  • $tags: 图像的标签
  • $isLarge: 布尔值,表示是否需要使用 upload_large 或 upload

返回 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:'create' 或 'download' ('create' 将创建存档并返回包含存档属性的JSON响应,'download' 将返回下载的zip文件)

在Cloudinary上创建zip文件。

downloadArchiveUrl()

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

with

  • $options:您的存档选项,如名称、选择图片的标签/前缀/公共ID
  • $archiveName:您想为存档提供的名称

返回Cloudinary上新建存档的下载链接。

运行测试

phpunit