0

我正在使用 RMagick gem 读取三个图像,然后将它们添加到ImageList

imagelist = ImageList.new

imagelist << Image.read(path1)[0]
imagelist << Image.read(path2)[0]
imagelist << Image.read(path3)[0]

然后我将这三个图像与append方法结合起来

combined_image = imagelist.append(false)

然后我尝试将此图像写入 Amazon S3:

AWS::S3::S3Object.store(filename, combined_image, bucket)

但是,我收到此错误,导致我无法成功将图像写入 S3:

undefined method `size' for #<Magick::Image:0x00000101994498>

我在控制台中使用了 RMagic,我发现当你append在 an 中图像时ImageList,它返回的 anImage似乎忽略了它的大小(以字节为单位)。

如何修改此图像以便将其写入 S3?

4

2 回答 2

1

弄清楚了。诀窍是combined_image通过调用to_blob它来将其转换为二进制大对象。

于 2012-05-06T05:59:06.810 回答
0

我建议您检查是否combined_image.display向您显示所需的附加图像。如果是这样,AWS::S3 必须像任何其他通用云存储语法一样存储图像文件。

于 2012-05-06T05:35:14.667 回答