【问题标题】:Carrierwave including MiniMagick -> uploads no longer workCarrierwave 包括 MiniMagick -> 上传不再起作用
【发布时间】:2016-07-19 03:08:03
【问题描述】:

我有一个带有 Carrierwave 的 Rails 应用程序,我正在使用 MiniMagick 进行图像处理。

每当我在我的上传器文件中添加include CarrierWave::MiniMagick 时,上传就会停止工作,没有任何错误提示,并且应用程序流程恢复而不更新上传的图像

class AvatarUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  storage :file

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  version :thumb do
    process resize_to_fill: [50, 50]
  end

  def filename
    "avatar.#{file.extension}" if original_filename if original_filename
  end

end

我的用户类有以下几行

attr_accessor :avatar, :avatar_cache
mount_uploader :avatar, ::AvatarUploader

我的看法

<%= f.label(:avatar, t(:avatar)) %>
<%= image_tag(user.avatar_url) if user.avatar? %>
<%= f.file_field :avatar %>
<%= f.hidden_field :avatar_cache %>

当我在上传器中注释掉 include 行和 resize_to_fill 行时,一切正常。

这很难调试,我已经尝试通过.store!控制台上传头像但输出很奇怪[:store_versions!]

u = User.first
u.avatar # Contains 'old.jpg' ( Which I uploaded with the buggy lines commented, and changed the  filename to 'old')
u.avatar.store!(File.new("C:\\somejpeg.jpg"))
=> [:store_versions!]
u.avatar # Still shows old 'me.jpg'

配置

  • 窗户
  • ImageMagick 已安装
  • ruby 2.2.4p230(2015-12-16 修订版 53155)[x64-mingw32]
  • CarrierWave 0.10.0 和 Carrierwave-Mongoid 0.8.0

【问题讨论】:

    标签: ruby-on-rails ruby carrierwave minimagick


    【解决方案1】:

    在您的 gem 文件中添加 gem "mini_magick" 并进行捆绑安装。

    在您的 AvatarUploader 类中添加 include CarrierWave::MiniMagick

    在您的用户模型中添加 mount_uploader :avtar, AvatarUploader

    【讨论】:

      【解决方案2】:

      我设法让它工作。我不太确定关键步骤是什么,但除此之外

      • 我打开了一次 ImageMagick for Windows(我知道有些程序在第一次启动后会生成额外的配置文件),然后我尝试使用 GUI 打开/保存照片
      • 我删除了之前上传的 Carrierwave 文件
      • 我在管理员模式下运行了一次rails s(现在即使没有它也可以正常运行)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        • 2012-09-10
        • 2015-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多