2013-10-07 41 views

回答

1

在過去,我已經使用了aws-sdk-ruby gemrmagick的組合在輔助類:

  • 下載從S3原始文件在本地
  • 適用auto_orient
  • 將x/y/z調整大小
  • 重新上傳原始版本和新版本返回S3

無論何時你接收到未來的圖像,你都可以在後臺排隊這樣的進程(delayed_job/sideqik/resque/etc)。

這是gist

1

一個簡單的shell腳本,也可以使用(與一些外部的幫助)

安裝s3cmd。它是一個與s3交互的命令行工具。 安裝ImageMagick。這是rMagic引擎蓋

下使用,然後使用它在shell腳本這樣

#!/bin/bash 
S3CMD=$(which s3cmd) 
CONVERT=$(which convert) 
# 
# Download the file from s3 
$S3CMD get s3://mybucket/path/to/image/file.gif 

# convert it to thumbnail 
$CONVERT file.gif -resize 64x64 resize_file.gif 

# upload the thumbnail back to s3 
$S3CMD put resize_file.git s3://mybucket/path/to/thumbnails/resize_file.gif 

# cleanup 
rm file.gif resize_file.gif 

注:示例腳本上面沒有任何錯誤檢查。在執行下一個命令之前,您應該檢查每個命令的狀態代碼。

ImageMagick功能非常強大。

see this各種方式,您可以使用調整圖像大小。

您也可以讓縮略圖like this

s3cmd能夠從S3路徑下載所有文件。 ImageMagick能夠批量處理(雖然示例腳本沒有描述它)。如果您希望一次處理一個圖像,則應適當修改循環腳本。另一方面,如果您已在應用程序中使用回形針,則會附帶一些耙子任務。檢查文檔

rake paperclip:refresh:thumbnails 
相關問題