簡體   English   中英

spatie/laravel-medialibrary - 能夠“即時”添加每個媒體 model 的轉換?

[英]spatie/laravel-medialibrary - Ability to add conversion per media model "on the fly"?

我正在使用流行的 package spatie/laravel-medialibrary 將文件與模型相關聯。

我想知道是否有可能在將媒體添加到 model 之前即時添加轉換。

我嘗試過類似的方法,但如果以這種方式添加轉換,則轉換似乎會被忽略。


// $this being the model with HasMedia interface and InteractsWithMedia trait

use Spatie\MediaLibrary\Conversions\Conversion;

$this->mediaConversions = [
  Conversion::create('name')
      ->withResponsiveImages()
      ->performOnCollections('default')
      ->format('webp'),
  
  Conversion::create('another-one')
      ->withResponsiveImages()
      ->performOnCollections('default')
      ->format('webp'),
];

$this->addMedia($filePath)->toMediaCollection();

這有可能做到嗎?

這樣的事情會很好:

$model->addMedia($path)->withConversions([
  Conversion::create('another-one')
      ->withResponsiveImages()
      ->performOnCollections('default')
      ->format('webp'),
])

但是 v10 中不存在withConversions

謝謝你的回答。

您可以按照此處文檔中的說明直接在 model 中注冊圖像轉換。

要生成該縮略圖,您必須將像這樣的轉換添加到您的 model。

use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\MediaCollections\Models\Media;

public function registerMediaConversions(Media $media = null): void
{
    $this
        ->addMediaConversion('preview')
        ->fit(Manipulations::FIT_CROP, 300, 300)
        ->nonQueued();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM