0
我做了一小段代码上传文件,然后用imagemagik调整大小。我正在使用system(“command”)函数调用imagemagik来调整图像大小,但输出是大小为0字节的文件。任何想法可能会出错?导轨,图片上传和imagemagik调整
我做了一小段代码上传文件,然后用imagemagik调整大小。我正在使用system(“command”)函数调用imagemagik来调整图像大小,但输出是大小为0字节的文件。任何想法可能会出错?导轨,图片上传和imagemagik调整
我会建议使用RMagick,它是imagemagick周围的红宝石包装。这将有助于保持事物更加类似ruby,并且通常对于知道有用。
谷歌将帮助(或计算器的RMagick),但步骤是一样的东西(我假设的Rails 3):
在application.config:
gem 'rmagick'
然后,在你的控制器:
require 'RMagick'
def create
@upload_io = params[:image_field]
@filename = @upload_io.original_filename
@filepath = Rails.root.join('public', 'images', @filename)
File.open(@filepath) do |file|
file.write(image_io.read)
end
@original = Magick::Image.read(@filepath)
@thumbnail = @original.resize_to_fit 75 75
@thumbnail.write(Rails.root.join('public', 'images', 'sm_' + filename)
end
如果你不是RMagick那么热衷,我也建议确保您调整其大小(不原来存在吗?),并确保您的路径是之前正在保存文件一致,并且您确实在文件系统上找到了正确的位置。
嗨...我看着rmagick选项,但是因为它表示不再维护它而投了票... – Amit 2010-10-30 11:03:42
同样就文件路径而言,我确信路径没问题,因为有一个新的文件的大小为0字节,所以我很确定命令在正确的文件上运行。我怀疑它是导致prblems的rails实例的用户,但即使在将文件夹设置为777后,我仍然得到相同的错误 – Amit 2010-10-30 11:05:36
我正在使用它,并取得了巨大成功。我并不知道它没有被维护,但它的功能很强大。我仍然会说与RMagick一起去,然后只有在需要时才下拉命令。但是,由你决定:-) – Travis 2010-10-30 11:30:12