"100%" }, :convert_options => { :square => "-au-6ren">
gpt4 book ai didi

ruby-on-rails - 如何将额外的转换选项传递给 Heroku 上的回形针?

转载 作者:行者123 更新时间:2023-12-02 02:34:25 25 4
gpt4 key购买 nike

class User < ActiveRecord::Base

has_attached_file :photo, :styles => { :square => "100%", :large => "100%" },
:convert_options => {
:square => "-auto-orient -geometry 70X70#",
:large => "-auto-orient -geometry X300" },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'mybucket'

validates_attachment_size :photo,
:less_than => 5.megabyte

end

在本地机器上运行良好,但在 Heroku 上给我一个错误:There was an error processing the thumbnail for stream.20143关键是我想在调整大小之前自动调整照片的方向,这样它们就能正确调整大小。

现在唯一可行的变体(感谢 jonnii)是在没有自动定向的情况下调整大小:

...
as_attached_file :photo, :styles => { :square => "70X70#", :large => "X300" },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'mybucket'
...

如何在 Heroku 上将额外的转换选项传递给回形针?

UPD

我发现,“-auto-orient”选项有问题。似乎这个选项在 Heroku 使用的 ImageMagick 版本中被破坏了。我创建了继承自回形针标准缩略图的自定义回形针图像处理器:

module Paperclip

class Ao < Thumbnail

def transformation_command
super + " -auto-orient"
end

end
end

它在本地机器上运行完美,但在 Heroku 上运行失败。

最佳答案

这些是我使用的尺寸。它们在 heroku 上都运行良好:

SIZES = {
:original => "640x480>",
:thumb => "150x150#",
:mini => "60x60#",
:micro => "30x30#"
}

确保您的 paperclip 的 gem 版本与 heroku 的相同。您可以在 .gems 文件和 environment.rb 中指定特定的 gem 版本,以确保它们一致。

我不确定为什么您的 convert_options 会导致问题,但如果我没记错的话,paperclip 直接使用 ImageScience,您选择的选项可能与只读的 heroku 文件系统不兼容。

如果这很重要并且您现在需要答案,我会在 heroku 上提出支持请求。如果您收到回复,请务必将其发回此处!

关于ruby-on-rails - 如何将额外的转换选项传递给 Heroku 上的回形针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com