Я пытаюсь включить вариант файла, хранящегося в Active Storage , как встроенное вложение для почтовой программы.Почтовая сторона вещей не важна;Я пытаюсь прочитать байты загруженного изображения.
Чтобы включить исходный загруженный файл, это работает:
# The model
class Newsletter < ApplicationRecord
has_one_attached :header
end
# The mailer
class NewsletterMailer < ApplicationMailer
def mailshot
@newsletter = params[:newsletter]
if @newsletter.header.attached?
attachments.inline['header'] = @newsletter.header.download
end
end
end
# In the view (MJML HAML, but you get the idea...)
- if attachments['header'].present?
%mj-image{src: attachments['header'].url}
Но что если вместо включая исходный файл, я хочу включить его измененный вариант?
attachments.inline['header'] =
@newsletter
.header
.variant(resize: '100x100')
.processed
.???
Как получить доступ к необработанным байтам обработанного изображения?
Конечно, я все еще могу .download
оригинал и делаю свою собственную обработку, но скорее надеюсь, что может быть более легкий путь.Спасибо!