【问题标题】:Issue using mini_magick to process images with CarrierWave gem in Rails app在 Rails 应用程序中使用 mini_magick 处理带有 CarrierWave gem 的图像的问题
【发布时间】:2017-09-29 08:37:50
【问题描述】:

我使用的是 Windows 8.1。 5 个小时后,我终于在我的 rails 应用程序中设置了 CarrierWave。我必须安装 ImageMagick(运行 convert -version 返回“版本:ImageMagick 6.9.8-4 Q16 x64 2017-04-25”,所以我知道它已安装)。上传文件按预期工作,一切正常。

下一步是包含 mini_magick,以便我可以调整图像的大小并制作缩略图版本,因此我取消了 image_uploader.rb 文件中以下行的注释:

  include CarrierWave::MiniMagick

   version :thumb do
     process :resize_to_fit => [200, 100]
   end

然后我将 mini_magick 添加到我的 gemfile 并确认它存在(运行 bundle install 返回“使用 mini_magick 4.7.0”)。但是现在,每当我上传文件时,都会收到以下错误:

  • 使用 MiniMagick 处理图像失败,可能不是图像?原始错误:未安装 ImageMagick/GraphicsMagick

现在我知道它是一个图像,因为在我尝试使用 MiniMagick 进行操作之前,它可以处理相同的文件。肯定安装了 ImageMagick。我找不到关于我的问题的单一参考。我做错了什么?

提前谢谢你。

编辑:运行 convert -version 按如下方式列出委托(内置):

代表(内置):bzlib cairo flif freetype jng jp2 jpeg lcms lqr openexr pa ngocairo png ps rsvg tiff webp xml zlib

我没有在该列表中看到 jpg。但即使尝试上传 .png 文件,我也会收到同样的错误。

【问题讨论】:

  • 你解决了吗?
  • @TimmyVonHeiss 是的,现在更新答案

标签: ruby-on-rails imagemagick carrierwave minimagick


【解决方案1】:

在几天没有做任何事情之后,我从头开始重新启动this guide。到了处理不同尺寸图片的阶段,我从uploader.rb中取消了以下代码的注释,并添加了指南中随便提到的require语句(我第一次跳过了)。

include CarrierWave::MiniMagick
require 'carrierwave/processing/mini_magick'
version :thumb do
 process :resize_to_fit => [600, 450]
end

运行捆绑安装并继续本教程的其余部分,并且现在可以根据需要调整图像大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    相关资源
    最近更新 更多