Я пытаюсь создать файл монтажа, состоящий из различных миниатюр, загруженных (в частном порядке) на S3 с помощью Shrine.
Код этого действия находится у работника Sidekiq (в Heroku), который должен отправить электронное письмо свыше обработанное изображение в виде вложения электронной почты. (Затем просто выдает изображение)
Вот моя попытка:
images = []
@user.photos.first(25).each do |photo|
images << File.read(photo.image[:thumb].url)
end
processed_image = MiniMagick::Tool::Montage.new do |image|
images.each {|i| image << i}
image.tile "5x5"
image << "output.jpg"
end
attachments.inline['images.jpg'] = processed_image
Хотя я получаю сообщение об ошибке:
2019-11-04T18: 17: 59.638Z 30695 TID-ot0uksdbv ПРЕДУПРЕЖДЕНИЕ: Errno :: ENOENT: Нет такого файла или каталога @ rb_sysopen - https://mysite.s3.eu -west-1.amazonaws.com / photo / thumb / 5cb924406fa8944e5279a15b46f250f6.jpg? X-Amz-Algorithm =-HMAC-SHA256 и X-Amz-Credential = AKIAIJJCEGJCEVP2A% 2F20191104% 2Feu-запад 1% 2Fs3% 2Faws4_request & X-Amz-Date = 20191104T181759Z & X-Amz-Истекает = 900 & X-АМЗ-SignedHeaders = хост и X-Amz-Signature = 38706b7526fd0a8095a2f387521063d4d8901c4523696ff7e1f60ae2d
Кажется, он не может открыть большой палец на S3 (я обфусцировал ссылку выше, но при вставке в браузер он возвращает изображение правильно)
Я попытался передатьссылка прямо в блоке:
images << photo.image[:thumb].url
Но на этот раз кажется, что я получаю ошибки от MiniMagick
montage-im6.q16: не авторизовано HTTPS' @
error/delegate.c/InvokeDelegate/1717. montage-im6.q16: unable to open
file
': такого файла нетили каталог @ error / constitute.c / ReadImage / 544. montage-im6.q16: не разрешено HTTPS' @
error/delegate.c/InvokeDelegate/1717. montage-im6.q16: unable to open
file
': операция не разрешена @ error / constitute.c / ReadImage / 544. montage-im6.q16: не разрешено HTTPS' @
error/delegate.c/InvokeDelegate/1717. montage-im6.q16: unable to open
file
': операция не разрешена @ error / constitute.c / ReadImage / 544. montage-im6.q16: не разрешено HTTPS' @
error/delegate.c/InvokeDelegate/1717. montage-im6.q16: unable to open
file
': операция не разрешена @ error / constitute.c / ReadImage / 544. montage-im6.q16: не авторизован `HTTPS '@ error / Delegate.c / InvokeDelegate / 1717.
Не очень уверен, как справиться с этим ..