如何通过 public_id 获取 cloudinary 文件 url/other 属性?

How get cloudinary file url/other properties by public_id?

在 cloudinary 下保存图像(使用 cloudinary-laravel 1.0)我在我的数据库中保存 public_id 我想通过 public_id

获取此文件的 url(http 或 https)、大小、维度

正在读这篇文章

/**
 * You can also retrieve a url if you have a public id
 */

$url = Storage::disk('cloudinary')->url($publicId);

https://github.com/cloudinary-labs/cloudinary-laravel

我收到错误:

Disk [CLOUDINARY] does not have a configured driver.

  
  

但是我使用 storeOnCloudinaryAs 方法将图像保存到 cloudinary,在我的 .env 中我有

CLOUDINARY_URL=cloudinary://NNNNNNNNNNNN:AErjB_-XXXXXXXXX
CLOUDINARY_UPLOAD_PRESET=ml_default

和默认文件 config/cloudinary.php 我的 config/filesystems.php 没有任何云参数,这会是我出错的原因吗?

我也觉得在这种情况下使用 Storage::was 很奇怪,但我没有 查找如何通过 public_id ?

获取文件 url/other 属性

已编辑 1: 我添加了行

...
CloudinaryLabs\CloudinaryLaravel\CloudinaryServiceProvider::class,
...

在 ny config/app.php 的 'providers' 块中并清除缓存。 但还是得到了

"Disk [CLOUDINARY] does not have a configured driver."

错误。

将更改应用到 .env 并清除缓存我尝试调试从文件 vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php 中触发的行错误,如:

protected function resolve($name)
{
    $config = $this->getConfig($name);

    \Log::info(  varDump($name, ' -1 $name resolve::') ); // IT HAS ‘CLOUDINARY’ value
    if (empty($config['driver'])) {
        throw new InvalidArgumentException("Disk [{$name}] does not have a configured driver.");
    }

但是这个文件中 $config 的来源是什么?

config/filesystems.php ?在这个文件中,我没有任何 CLOUDINARY 块。也许我需要添加它?但是采用哪种格式?

提前致谢!

将驱动程序设置为小写

$cloudinaryUrl = Storage::disk(strtolower($imagesUploadSource))

修复了这个错误。