【问题标题】:Paperclip images failing to save in production rails回形针图像无法保存在生产轨道中
【发布时间】:2012-09-29 19:18:40
【问题描述】:

我刚刚部署了一个 rails 应用程序,它使用 Paperclip 处理文件上传到运行 apache2、passenger、rails 3.2.3 和 ruby​​ 1.9.3 的 linux ubuntu 10.04 服务器。

我的设置在开发中工作得非常好,但是现在在生产中图像永远不会保存。

我已在 production.rb 中注释掉以下行,以便 rails 处理文件上传,并尝试使用和安装 XSendFile。

# Specifies the header that your server uses for sending files
  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx

还有我的图片.rb

attr_accessible :photo_file_name, :photo_file_size, :photo_content_type, :photo, :splash_image
  validates_presence_of :photo_file_name, :photo_content_type, :photo_file_size


  has_attached_file :photo,
    styles: {
      thumb: "150x150>"
    },
       url: "/assets/splash_images/:id/:style/:basename.:extension",
       path: ":rails_root/public/assets/splash_images/:id/:style/:basename.:extension"

    validates_attachment_size :photo, :less_than => 25.megabytes
    validates_attachment_content_type :photo, content_type: /image/

有人知道会发生什么吗?非常感谢

【问题讨论】:

  • 您在同一台机器上运行生产?
  • 你的意思是本地主机?不,这是在 linux vps 服务器上,我也没有在本地机器上以生产模式运行应用程序
  • 上传文件时能否从 production.log 发布日志。
  • 啊,是的,Meduza,从日志看 rmagick 还没有安装在 linux 服务器上!谢谢

标签: ruby-on-rails file-upload paperclip production-environment


【解决方案1】:

感谢 Meduza 和 Hugo 为我指明了正确的方向。为了成功上传和保存图像,我必须在 linux 服务器上安装 Imagemagick,并像这样授予图像路径的写入权限:

如果不是从 root 运行,则附加 sudo

 apt-get install imagemagick
 apt-get install libmagick9-dev
 gem install rmagick

 chmod -R 777 app/app_name/public/assets/image_folder

【讨论】:

    【解决方案2】:

    如果 ImageMagick 未安装在默认路径上,您需要指定路径。对于 windows 用户,在 initializers/paperclip.rb 中执行类似的操作:

    需要“回形针”需要“rbconfig” is_windows = (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)

    Paperclip.options[:command_path] = 'C:\ImageMagick' if is_windows Paperclip.options[:swallow_stderr] = false

    在你的 imagemagick 路径中找到“identify”的位置并将其放在这里。当然,你需要把linux路径放在那里。 (/usr/bin/ ...)

    【讨论】:

    • 嗨雨果,我的路径很好,正如你提到的,我只是没有安装任何形式的 imagemagick!也没有上传文件夹的写入权限!
    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 2015-01-25
    • 2014-07-08
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    相关资源
    最近更新 更多