gpt4 book ai didi

ruby-on-rails - 无法使用 RMagick 打开上传的图像文件

转载 作者:行者123 更新时间:2023-12-05 08:34:39 24 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我有一个允许用户上传图像的表单。我的应用程序应该使用以下 Controller 方法调整图像大小。 (POST 到此方法,params[:file] 包含已上传的 ActionDispatch::Http::UploadedFile:

 def resize_and_store
file = params[:file]

# resize image
Magick::Image.read(file.tempfile).first
newimg = image.resize(100,100)

#etc... Store newimg
end

我在 Image.read 行中收到以下错误:

Magick::ImageMagickError (no decode delegate for this image format `0xb9f6052c>' @ error/constitute.c/ReadImage/544):

使用上传的 PNG 文件进行测试,RMagick 似乎没有识别出临时文件是 PNG 文件。如果我读取本地存储的 PNG 文件,上面的代码确实有效,所以我不可能缺少 PNG 解码器。我该如何解决这个问题,为什么会发生这种情况?

最佳答案

您可以在 ActionDispatch::Http::UploadedFile 参数上执行 from_blob(这是文件的输入方式):

images = Magick::Image.from_blob(params[:file].read)

关于ruby-on-rails - 无法使用 RMagick 打开上传的图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21332564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com