gpt4 book ai didi

php - 使用 Cloudinary URL 缩放图像的模型中的 Laravel 自定义属性

转载 作者:行者123 更新时间:2023-12-04 10:57:51 24 4
gpt4 key购买 nike

在我的网络应用程序中,我使用 Cloudinary 进行图像存储。图像上传工作正常,但我想为图像创建一个自定义属性,以便在从数据库中取回图像 url 时对宽度和高度进行一些修改。

图片链接:https://res.cloudinary.com/wokong/image/upload/v1568570430/storyHeader/cxjir4g9tkaa8xepxodg.jpg

它存储在数据库中,但是当它从数据库中获取时,它应该具有一定的扩展性,以便网站加载不会花费太多时间。

这是我的故事模型:

class Story extends Model
{
use Commentable, Searchable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'title',
'summary',
'content',
'created_at',
'story_statuses_id',
'image', 'language',
'likes',
'views',
'url_key',
];



/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'is_public' => 'boolean',
];

我不明白如何使用它任何人都可以帮助?

最佳答案

Cloudinary 支持运行时图像大小调整

根据他们的文档而不是这个

https://res.cloudinary.com/wokong/image/upload/v1568570430/storyHeader/cxjir4g9tkaa8xepxodg.jpg



https://res.cloudinary.com/wokong/image/upload/w_100,h_100,c_fit/v1568570430/storyHeader/cxjir4g9tkaa8xepxodg.jpg

如您所见,我添加了 /w_100,h_100,c_fit/之后 upload指示 Cloudinary 即时调整大小
w用于宽度,h用于高度和 c用于裁剪时使用的比例类型

您可以找到文档 here

更新 1

像这样的事情应该这样做

$default_url = "https://res.cloudinary.com/wokong/image/upload/v1568570430/storyHeader/cxjir4g9tkaa8xepxodg.jpg";

$width = 100;
$height = 100;

echo str_replace("/upload", "/upload/w_".$width.",h_".$height.",c_fit", $default_url);

更新 2

你的模型看起来像
class Story extends Model
{
use Commentable, Searchable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'title',
'summary',
'content',
'created_at',
'story_statuses_id',
'image', 'language',
'likes',
'views',
'url_key',
];



/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'is_public' => 'boolean',
];

public function getImageForWebAttribute()
{
$width = 100; // You can keep this info in app config
$height = 100;

// Here i am assuming `image` is where you store Cloudinary url
return str_replace("/upload", "/upload/w_".$width.",h_".$height.",c_fit", $this->image);
}
}

你可以这样称呼它
$story->image_for_web

laravel 自定义修改器的文档可以在 here 中找到

关于php - 使用 Cloudinary URL 缩放图像的模型中的 Laravel 自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59067877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com