Domanda

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

Funziona benissimo sul computer locale, ma mi dà un errore su Heroku: There was an error processing the thumbnail for stream.20143Il fatto è che voglio orientare automaticamente le foto prima di ridimensionarle, in modo che vengano ridimensionate correttamente.

L'unica variante funzionante ora (grazie a Jonnii) è il ridimensionamento senza orientamento automatico:

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

Come passare ulteriori opzioni di conversione in graffetta su Heroku?

AGGIORNAMENTO

Scopro il problema nell'opzione "-auto-orient".Sembra che questa opzione sia interrotta nella versione di ImageMagick utilizzata da Heroku.Ho creato un processore di immagini personalizzato per graffetta ereditato dalla miniatura standard di graffetta:

module Paperclip

  class Ao < Thumbnail

    def transformation_command
      super + " -auto-orient"
    end

   end
end

Funziona perfettamente sul computer locale, ma fallisce su Heroku.

È stato utile?

Soluzione

Queste sono le dimensioni che utilizzo.Funzionano tutti bene su Heroku:

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

Assicurati che la tua versione gem di graffetta per fogli è lo stesso di Heroku.Puoi specificare la versione specifica della gemma nel tuo file .gems file e nel tuo environment.rb per assicurarsi che siano allineati.

Non sono sicuro esattamente del motivo per cui il tuo convert_options stanno causando problemi, ma se ricordo bene paperclip utilizza direttamente ImageScience e le opzioni scelte potrebbero essere incompatibili con il file system heroku di sola lettura.

Se questo è fondamentale e hai bisogno di una risposta adesso, aumenterei un ticket di supporto su Heroku.Se ricevi una risposta assicurati di postarla qui!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top