如何解决使用MiniMagick无法操作,也许它不是图像?原始錯誤:您必須安裝 ImageMagick 或 Graphi



在生产中,我的代码工作正常,但是当我尝试上传时,我的代码在本地回滚

所以我尝试强制更新接受带有更新的上传! 这给了我这个错误消息:

ActiveRecord::RecordInvalid in EmployeesController#photo_upload

验证失败:照片无法使用MiniMagick进行操作,也许它不是图像?原始错误:您必须安装 ImageMagick 或 GraphicsMagick

因此,基于此,我发现它与MiniMagick有关,在我的上传器文件中进行了一些测试,我发现如果我评论这一行:

process resize_to_fill: [100, 100]

问题消失了。问题是我需要将矩形图像加载为正方形图像的那行,因此无需播放每张图片和 CSS。所以我正在寻找一个长期的解决方案

class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
process resize_to_fill: [100, 100]
if Rails.env.production?
storage :fog
else
storage :file
end
def store_dir
end
def extension_whitelist
%w[jpg jpeg gif png]
end
end

编辑:

基于提到在本地安装 ImageMagick 的几条评论,我进行了研究,因为我的部署是在 Heroku 中,所以它有点不同,但事实证明 Heroku 安装了 ImageMagick,所以这显然不是问题。对于那些想要证实的人,请输入:

heroku run identify -version

我已经遇到这个问题 48 小时了。我想你只需要完全按照它所说的去做,安装ImageMagick。我brew install imagemagick假设你在Mac上。我的问题是我试图播种图像数据(作为来自app/assets/images/ folder locally的 URL,这就是错误弹出的时候。希望对您有所帮助。

最新更新