3

我在 Windows 7 机器上运行带有 Paperclip 3.3.0 的 Rails 3.2.8。当我尝试上传名为“2012-10-26_17.49.13.png”的图像时出现以下错误:Image There was an error processing the thumbnail for 2012-10-26_17.49.1320121027-1196-l5ejgs

文件名可能并不重要,但我想指出的是,我发现的大多数与此相关的问题都是这样说的error processing the thumbnail for stream。我的错误没有“流”。每次我尝试上传时,文件名的结尾都会随机更改(Paperclip 做了一些我假设的避免碰撞)。

图像字段在模型中设置如下:

has_attached_file :image, :path => ":rails_root/public/images/:hash_:style.:extension", :url => "/images/:hash_:style.:extension", :hash_secret => "sometext", :default_url => "", :styles => { :thumb => "100x100#" }
validates_attachment_content_type :image, :content_type => ['image/jpeg','image/jpg','image/pjpeg','image/png','image/x-png','image/gif']

目前has_attached_file正在使用:hash,但我也尝试过使用:basefilename它或其他任何东西,但这并不影响结果。这种:thumb风格也试过了"100x100>"

该字段是这样的_form.html.erb

<div class="field">
  <%= f.label :image %><br />
  <%= f.file_field :image %>
</div>

控制器并没有什么特别之处,:image因为 Paperclip 似乎为我处理了一切。至少,这是我通过查看示例代码收集到的。

我认为这可能是 ImageMagick 的问题。我为这个错误找到的一些解决方案涉及 ImageMagick 的安装位置。我将我的移动到 C:/ImageMagick6,更新了我的系统路径,并将以下几行添加到 development.rb:

Paperclip.options[:command_path] = "C:/ImageMagick6"
Paperclip.options[:swallow_stderr] = false
Paperclip.options[:whiny_thumbnails] = true

我不完全确定是否需要后两者,但我看到了它们的建议。没有注意到包含它们的任何变化。如果我打开命令提示符,我可以访问 ImageMagick 命令,所以路径应该是正确的。

我还尝试在:styles已删除的情况下运行它,这使我可以上传原始图像文件。不过,我真的很想要我的网站的缩略图。

那么,我错过了什么使它无法正常工作?

4

3 回答 3

1

尽管已添加Paperclip.options[:command_path] = 'C:/progra~2/imagem~1.0-q'到我的 config/environments/development.rb 文件中,但我C:/progra~2/imagem~1.0-q之前必须%SystemRoot%\system32在环境路径中添加。

我通过来回修改环境路径确认了这一点。

于 2013-01-05T05:40:08.573 回答
0

您可以尝试通过命令行直接使用 ImageMagick 来操作图像。至少,这应该确认您的 ImageMagick 安装是否存在问题。

于 2012-10-27T20:17:30.073 回答
0

要使用 Paperclip,您需要安装 ImageMagick 库。

ImageMagick提供了Paperclip所需的两个可执行文件:identify识别图像格式和处理原始图像并生成所需格式。convert

现在,ImageMagick 默认不随 Windows 提供,因此您需要手动安装它。

稍后,您将需要告诉 Paperclip 在哪里可以找到 ImageMagick 可执行文件,所有这些都记录在Paperclip README中

请注意,如果您没有设置Paperclip.options[:command_path]安装 ImageMagick 的 PATH,Paperclip 将错误地尝试使用 Windows 的convert可执行文件,这是一个文件系统转换实用程序,并不用于处理图像。

我相信这是您目前收到的关于生成缩略图的错误。

希望有帮助。

于 2012-10-27T20:08:18.807 回答