我正在使用attachment_fu和RMagick在 Rails 应用程序上上传/调整图像大小。目前我使用本地文件系统作为存储,但我计划使用 AWS S3 来完成这项工作。无论如何,我很想知道其他人在使用 S3 方面的经验,还有一个大问题要问你。在我的应用程序中,当用户上传图像时,我将此图像调整为 5 种不同的尺寸,并将它们与原始图像一起存储。(共 6 张图像)基于模型中提供的缩略图大小:
:thumbnails => {
"thumb" => "120x80",
"extra_small"=>"480x320",
"small"=>"640x480",
"medium" => "800x533",
"large"=>"2738x1825",
"extra_large" => "3464x2309"
最后我得到:
- image_foo.jpg (原图)
- image_foo_thumb.jpg
- image_foo_extra_small.jpg
- image_foo_small.jpg
- image_foo_medium.jpg
- image_foo_large.jpg
- image_foo_extra_large.jpg
我重新调整这些图像大小的原因是我需要将每个图像的实际大小存储在数据库中。但实际上,即使我指定了缩略图的尺寸,我也没有得到确切的尺寸。无论如何都可以,因为大小是根据纵横比计算的。
但是如果我可以计算缩略图大小而不将它们保存到文件系统,我真的不喜欢浪费服务器上的空间。换句话说,我只需要存储原始文件而不是缩略图,但我仍然需要获取缩略图的大小。是否可以在不在 RMagick 中创建缩略图的情况下获得实际的缩略图大小?