Ste*_*lar 7 ruby-on-rails imagemagick rails-activestorage ruby-on-rails-6
目前我正在尝试在 Rails 6 中显示.HEIC图像。我正在使用ActiveStorage ImageMagic来使用变体来显示jpg. 基本上我正在尝试使用
mogrify -format jpg myimage.heic
Run Code Online (Sandbox Code Playgroud)
在图像中进行显示jpg。
我添加Rails.application.config.active_storage.variant_processor到 application.rb 中以便能够使用该变体。然而,它似乎打破了以下行:
<%= image_tag post.image.variant(format: 'jpg'), class: "card-home__img" %>
Run Code Online (Sandbox Code Playgroud)
为什么不工作?
小智 11
您只能调用在调用时variant返回的图像。truevariable?
在内部ActiveStorage检查是否ActiveStorage.variable_content_types包含您的图像类型。默认支持的值为:
image/pngimage/gifimage/jpgimage/jpegimage/pjpegimage/tiffimage/bmpimage/vnd.adobe.photoshopimage/vnd.microsoft.iconimage/webp所以目前似乎不支持 .HEIC 图像。
您可以在将图像附加到模型或存储之前应用格式转换,这可能会解决您的用例。
小智 0
ActiveStorage::Blob#variant在不可变的 blob 上调用时引发。用于ActiveStorage::Blob#variable?确定 blob 是否可变。
来源:https ://edgeapi.rubyonrails.org/classes/ActiveStorage/InvariableError.html
| 归档时间: |
|
| 查看次数: |
6033 次 |
| 最近记录: |