thoughtbot / paperclip

Easy file attachment management for ActiveRecord
https://thoughtbot.com
Other
9.01k stars 2.43k forks source link

Error trying to resize the original file with Ghostscript #1703

Closed llollox closed 9 years ago

llollox commented 9 years ago

That's my picture.rb model.

class Picture < ActiveRecord::Base
belongs_to :picturable, polymorphic: true

  has_attached_file :photo, #, :storage => :dropbox,
  :styles => { :thumb => ["100x100>", :jpg], :scaled => ["300x300#", :jpg], :medium => ["600x400>", :jpg], :original => ["1200x800>", :jpg]},

  :processors => lambda { |a|
   if a.is_pdf?
     [:ghostscript, :thumbnail]
   else
     [:thumbnail]
   end
  },

  :convert_options => { :all => '-density 300 -quality 100' }

  validates_attachment_size :photo, :less_than => 5.megabytes
  validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png','application/pdf','image/gif']

  def is_pdf?
     ["application/pdf"].include?(self.photo_content_type) 
  end

end

Trying to upload a pdf file I give the following error, but if I don't assign a style for the original file (es replacing :big instead of :original) everything works correctly!

NameError - uninitialized constant Paperclip::Ghostscript::PaperclipCommandLineError:
  activesupport (4.1.5) lib/active_support/dependencies.rb:518:in `load_missing_constant'
  activesupport (4.1.5) lib/active_support/dependencies.rb:180:in `const_missing'
  lib/paperclip_processors/ghostscript.rb:31:in `rescue in make'
  lib/paperclip_processors/ghostscript.rb:21:in `make'
  paperclip (4.2.0) lib/paperclip/processor.rb:33:in `make'
  paperclip (4.2.0) lib/paperclip/attachment.rb:523:in `block in post_process_style'
  paperclip (4.2.0) lib/paperclip/attachment.rb:522:in `post_process_style'
  paperclip (4.2.0) lib/paperclip/attachment.rb:515:in `block in post_process_styles'
  paperclip (4.2.0) lib/paperclip/attachment.rb:514:in `post_process_styles'
  paperclip (4.2.0) lib/paperclip/attachment.rb:506:in `block (2 levels) in post_process'
  activesupport (4.1.5) lib/active_support/callbacks.rb:113:in `call'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
  activesupport (4.1.5) lib/active_support/callbacks.rb:86:in `run_callbacks'
  paperclip (4.2.0) lib/paperclip/callbacks.rb:36:in `run_paperclip_callbacks'
  paperclip (4.2.0) lib/paperclip/attachment.rb:504:in `block in post_process'
  activesupport (4.1.5) lib/active_support/callbacks.rb:82:in `run_callbacks'
  paperclip (4.2.0) lib/paperclip/callbacks.rb:36:in `run_paperclip_callbacks'
  paperclip (4.2.0) lib/paperclip/attachment.rb:503:in `post_process'
  paperclip (4.2.0) lib/paperclip/attachment.rb:459:in `post_process_file'
  paperclip (4.2.0) lib/paperclip/attachment.rb:107:in `assign'
  paperclip (4.2.0) lib/paperclip/has_attached_file.rb:66:in `block in define_setter'
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:26:in `assign_attributes'
  activerecord (4.1.5) lib/active_record/core.rb:455:in `init_attributes'
  activerecord (4.1.5) lib/active_record/core.rb:198:in `initialize'
  activerecord (4.1.5) lib/active_record/inheritance.rb:30:in `new'
  activerecord (4.1.5) lib/active_record/reflection.rb:239:in `build_association'
  activerecord (4.1.5) lib/active_record/associations/association.rb:247:in `build_record'
  activerecord (4.1.5) lib/active_record/associations/collection_association.rb:130:in `build'
  activerecord (4.1.5) lib/active_record/nested_attributes.rb:465:in `block in assign_nested_attributes_for_collection_association'
  activerecord (4.1.5) lib/active_record/nested_attributes.rb:460:in `assign_nested_attributes_for_collection_association'
  activerecord (4.1.5) lib/active_record/nested_attributes.rb:343:in `pictures_attributes='
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:56:in `block in assign_nested_parameter_attributes'
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:56:in `assign_nested_parameter_attributes'
  activerecord (4.1.5) lib/active_record/attribute_assignment.rb:36:in `assign_attributes'
  activerecord (4.1.5) lib/active_record/persistence.rb:231:in `block in update'
  activerecord (4.1.5) lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
  activerecord (4.1.5) lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
  activerecord (4.1.5) lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
  activerecord (4.1.5) lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
  activerecord (4.1.5) lib/active_record/transactions.rb:208:in `transaction'
  activerecord (4.1.5) lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
  activerecord (4.1.5) lib/active_record/persistence.rb:230:in `update'
  app/controllers/items_controller.rb:165:in `block in update'
  actionpack (4.1.5) lib/action_controller/metal/mime_responds.rb:433:in `retrieve_collector_from_mimes'
  actionpack (4.1.5) lib/action_controller/metal/mime_responds.rb:256:in `respond_to'
  app/controllers/items_controller.rb:164:in `update'
  actionpack (4.1.5) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  actionpack (4.1.5) lib/abstract_controller/base.rb:189:in `process_action'
  actionpack (4.1.5) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (4.1.5) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  activesupport (4.1.5) lib/active_support/callbacks.rb:113:in `call'
  activesupport (4.1.5) lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:229:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
  activesupport (4.1.5) lib/active_support/callbacks.rb:229:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:166:in `block in halting'
  activesupport (4.1.5) lib/active_support/callbacks.rb:86:in `run_callbacks'
  actionpack (4.1.5) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (4.1.5) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (4.1.5) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
  activesupport (4.1.5) lib/active_support/notifications.rb:159:in `block in instrument'
  activesupport (4.1.5) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.1.5) lib/active_support/notifications.rb:159:in `instrument'
  actionpack (4.1.5) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (4.1.5) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  activerecord (4.1.5) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  actionpack (4.1.5) lib/abstract_controller/base.rb:136:in `process'
  actionview (4.1.5) lib/action_view/rendering.rb:30:in `process'
  actionpack (4.1.5) lib/action_controller/metal.rb:196:in `dispatch'
  actionpack (4.1.5) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (4.1.5) lib/action_controller/metal.rb:232:in `block in action'
  actionpack (4.1.5) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
  actionpack (4.1.5) lib/action_dispatch/routing/route_set.rb:50:in `call'
  actionpack (4.1.5) lib/action_dispatch/journey/router.rb:71:in `block in call'
  actionpack (4.1.5) lib/action_dispatch/journey/router.rb:59:in `call'
  actionpack (4.1.5) lib/action_dispatch/routing/route_set.rb:678:in `call'
  meta_request (0.3.4) lib/meta_request/middlewares/app_request_handler.rb:13:in `call'
  meta_request (0.3.4) lib/meta_request/middlewares/meta_request_handler.rb:13:in `call'
  rack (1.5.2) lib/rack/etag.rb:23:in `call'
  rack (1.5.2) lib/rack/conditionalget.rb:35:in `call'
  rack (1.5.2) lib/rack/head.rb:11:in `call'
  remotipart (1.2.1) lib/remotipart/middleware.rb:27:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/flash.rb:254:in `call'
  rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/cookies.rb:560:in `call'
  activerecord (4.1.5) lib/active_record/query_cache.rb:36:in `call'
  activerecord (4.1.5) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
  activerecord (4.1.5) lib/active_record/migration.rb:380:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.1.5) lib/active_support/callbacks.rb:82:in `run_callbacks'
  actionpack (4.1.5) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  better_errors (1.1.0) lib/better_errors/middleware.rb:84:in `protected_app_call'
  better_errors (1.1.0) lib/better_errors/middleware.rb:79:in `better_errors_call'
  better_errors (1.1.0) lib/better_errors/middleware.rb:56:in `call'
  rack-contrib (1.2.0) lib/rack/contrib/response_headers.rb:17:in `call'
  meta_request (0.3.4) lib/meta_request/middlewares/headers.rb:16:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.1.5) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.1.5) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.1.5) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.1.5) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.1.5) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.1.5) lib/rails/rack/logger.rb:20:in `call'
  request_store (1.1.0) lib/request_store/middleware.rb:8:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.1.5) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.1.5) lib/action_dispatch/middleware/static.rb:64:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  railties (4.1.5) lib/rails/engine.rb:514:in `call'
  railties (4.1.5) lib/rails/application.rb:144:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  rack (1.5.2) lib/rack/content_length.rb:14:in `call'
  rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
tute commented 9 years ago

@llollox is this still an issue for you with papeclip?

tute commented 9 years ago

Closing for lack of activity.