1

我刚刚在我的应用程序中安装了回形针来上传图像,在我尝试添加样式以调整图像大小之前,一切都运行良好。(在添加此代码之前,我可以很好地上传图片)

在pins.rb上:

has_attached_file :image, styles: { medium: "300x300>" }

然后我将类添加到 _pin.html.rb 上:

<td><%= image_tag pin.image(:medium) %></td>

但是现在,当我尝试上传图片时,出现错误:

Paperclip::Errors::NotIdentifiedByImageMagickError

当我删除样式时,它工作正常(alebit 未调整大小),但调整大小中的某些东西把它搞砸了。我尝试了不同的文件类型和文件名。我在谷歌上搜索过这个错误,所有的解决方案都不适合我。最受欢迎的是降级可卡因,但当我尝试这样做时,我得到了以下信息:

Bundler could not find compatible versions for gem "cocaine":
In Gemfile:
paperclip (~> 3.4.1) ruby depends on
cocaine (~> 0.5.0) ruby

cocaine (0.3.2)

我的 Rails 服务器正在返回消息:

Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-22 21:50:05 -0400
Served asset /application.js - 304 Not Modified (1ms)
[2013-03-22 21:50:05] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

有什么帮助吗?如果有帮助,我在https://github.com/jeremybelcher/omrails的 github 上有它。

4

5 回答 5

2

要回答 Rich Peck 的问题,您不必直接将其添加到模型中 - 您可以将其添加到 /config/environments/development.rb 中。这样它只会影响您的开发版本,而不是您的生产版本。

所以就我而言,我只是添加了

Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.7-Q16'

到我的 config/environments/development.rb 文件的末尾,它就像一个魅力。

于 2013-10-11T01:59:30.453 回答
1

使用相同的 omrails 分配有完全相同的问题 - 重新启动我的机器解决了我的问题。

于 2013-03-24T19:32:11.360 回答
0

您可能还没有安装 imagemagick,也没有在您的应用程序中指出它。

文档中所述:

必须安装 ImageMagick 并且 Paperclip 必须可以访问它。要确保它确实如此,请在您的命令行上运行which convert(ImageMagick 实用程序之一)。这将为您提供安装该实用程序的路径。例如,它可能返回 /usr/local/bin/convert。

在开发模式下,您可以将此行添加到 config/environments/development.rb):

Paperclip.options[:command_path] = "/usr/local/bin/"
于 2013-03-23T02:19:47.937 回答
0

1-当我配置动态链接器运行时绑定以创建必要的链接并使用ldconfig 命令缓存到最新的共享库时,我遇到了同样的问题,并且我解决了它。

所以你需要使用以下命令:

sudo ldconfig /usr/local/lib

实际上,我建议使用how-to-install-image-magick-and-setup-paperclip中的步骤重新安装 imagemagick 。

2-您需要在development.rb文件中添加以下代码:

Paperclip.options[:command_path] = "/usr/local/bin/"
于 2014-12-16T11:39:20.057 回答
0

我遇到了这个问题,并通过包含Paperclip.options[:command_path] = "YOUR_PATH_TO_IMAGE_MAGICK"在上传模型中来修复它(在我的情况下为 image.rb):

(Windows 7、Rails 4 和 Ruby 2.0):

#Image Upload 
has_attached_file :image,
    :command_path => 'C:\RailsInstaller\ImageMagick',
    :styles => { :medium => "x300", :thumb => "x100" },
    :default_url => "xxxxx",
    :storage => :s3,
    :bucket => 'xxxxxx',
    :s3_credentials => S3_CREDENTIALS

仍在努力使其成为开发和生产的条件

于 2013-09-24T17:40:08.357 回答