krados/cloudder

Laravel的Cloudinary API包装器。

dev-master 2023-10-08 23:52 UTC

This package is not auto-updated.

Last update: 2024-09-23 04:20:44 UTC


README

Fork自https://github.com/TentacleApp/cloudder,除了发布到Packagist外,没有太大区别。

https://github.com/jrm2k6/cloudder的更新版本,旨在使用Cloudinary API v2,以及与Laravel 8和PHP 7的兼容性。

原始项目在https://github.com/teepluss/laravel4-cloudinary

安装

composer require krydos/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' => [
  JD\Cloudder\CloudderServiceProvider::class,
];

'aliases' => [
  '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:要显示的资源公共ID
  • $options:上传资源的选项,有关更多信息,请参阅Cloudinary文档

返回在Cloudinary上图片的url(如果使用secureShow,则为https url)。

showPrivateUrl()

Cloudder::showPrivateUrl($publicId, $format, array $options)

with

  • $publicId:要显示的资源公共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 上新创建存档的 下载 URL

运行测试

phpunit