Pergunta

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

Funciona muito bem na máquina local, mas me dá um erro no Heroku: There was an error processing the thumbnail for stream.20143O problema é que eu quero fotos de orientação automática antes de redimensionar, para que eles redimensionassem corretamente.

A única variante de trabalho agora (graças a Jonnii) é redimensionada sem orientação automática:

...
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'
...

Como passar opções de conversão adicionais para o papel de papel no Heroku?

Up

Descobri, o problema na opção "-auto-oriental". Parece que essa opção está quebrada na versão do ImageMagick usada por Heroku. Criei o processador de imagem de papel de papel personalizado herdado da miniatura padrão do PaperClip:

module Paperclip

  class Ao < Thumbnail

    def transformation_command
      super + " -auto-orient"
    end

   end
end

Funciona perfeito na máquina local, mas falha no Heroku.

Foi útil?

Solução

Estes são os tamanhos que eu uso. Todos eles funcionam bem no Heroku:

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

Certifique -se de sua versão GEM de clipe de papel é o mesmo que o de Heroku. Você pode especificar a versão específica do GEM em seu .gems arquivo e em seu environment.rb para garantir que eles se alinhem.

Não sei exatamente por que o seu convert_options estão causando problemas, mas, se bem me lembro, o PaperClip usa o ImagesCience diretamente e as opções escolhidas podem ser incompatíveis com o sistema de arquivos Heroku.

Se isso for crítico e você precisar de uma resposta agora, eu aumentará uma passagem de suporte no Heroku. Se você receber uma resposta, poste -o de volta aqui!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top