Zpracování obrazu gem vytváří velikost souboru v GCS

0

Otázka

Mám Položku objekt.has_many_attached :photos. Mé Aktivní služby, skladování je GCS. Vytvořil jsem #thumbnail() metodu instance pro Položku. Takhle:

def thumbnail(photo)
    photo.variant(resize_and_pad: [400, 400, gravity: 'center', background: '#3D4453'])
end 

Volal jsem to do položky ukázat.html.erb soubor jako:

 <% @item.photos.each do |photo| %>
    <%= image_tag(@item.thumbnail(photo)) %>
<% end %>

Nicméně to způsobilo, měnit velikost fotografie, které chcete nahrát v GCS Kbelíku. Tak jsem se skončit s normální velikosti fotografie a změnit velikost fotografie v mém kbelíku. Jak se mohu vyhnout ?

1

Nejlepší odpověď

1

Podle ActiveStorage dokumentace pro variantsto je zamýšlené chování, které varianty jsou odeslány do úložiště služby, kterou používáte (v tomto případě GCS), které se pak vrátí varianta URL pro použití v aplikaci:

To bude kontrolovat, že varianta již byly zpracovány a nahrány do služby, a pokud ano, stačí se vrátit. Jinak to bude provádět transformace, nahrát varianta ke službě, a vrátit se sám znovu.

Tento související vlákno zkoumá toto chování s variantou a původní soubor, a to přijde k budování funkčnost odstranit varianta souborů, protože rozhraní API, zdá se nepodporuje. Pro odstranění konkrétní varianta soubory, to jiné otázky řeší tento problém.

2021-11-24 21:02:13

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................