在paperclip.rb(lib / paperclip.rb)中,在关于has_attached_file
方法的注释块中,在第251行(版本2.3.3)中,它读取了有关:convert_options
哈希的内容:
注意:提供给:convert_options的字符串在空格上分割,以便进行shell引用以确保安全。如果您的选项需要空格,请预先拆分它们并将数组传递给:convert_options。
我需要将一个选项-unsharp 1x2+1+.10
传递给Imagemagick,但无法弄清楚如何/不知道预分割字符串意味着什么。
我试过了:
:eightythumb => ['-antialias', '-thumbnail', '-unsharp 1x2+1+.10']
:eightythumb => ['-antialias', '-thumbnail', '-unsharp', '1x2+1+.10']
:eightythumb => ['-antialias', '-thumbnail', ['-unsharp', ' ', '1x2+1+.10']]
:eightythumb => ['-antialias', '-thumbnail', ['-unsharp', '+' '1x2+1+.10']]
更新:还尝试了
:eightythumb => ['-antialias', '-thumbnail', ['-unsharp', '1x2+1+.10']]
但是它们全部从Paperclip发送到Imagemagick '-antialias' '-thumbnail' '-unsharp' '1x2+1+.10'
,因为-unsharp
和1x2+1+.10
不在同一个字符串中而引发错误。
最终更新:
我的错误源于-thumbnail需要维度参数而与分割字符串无关。您可以将选项传递给Imagemagick,如下所示:
:convert_options => { :eightythumb => ['-thumbnail 80x80', '-antialias', 'unsharp 1x2+1+.10'] }
他们会经历的很好。
答案 0 :(得分:1)
我认为这意味着它正在寻找类似的东西:
:eightythumb => ['-antialias', '-thumbnail', '-unsharp 1x2+1+.10']
如果传递单个字符串,它将以空格字符分割它。如果你传递一个字符串数组,它会将每个字符串视为一个完整的选项。
更新:如果您自己添加转义字符会怎样?与'-unsharp\ 1x2+1+.10'
中一样。