jquery_file_upload 経由で画像をアップロードしています (Railscast エピソード #383) アップロードは完全に機能し、コールバック関数で URL を取得します
問題は、s3 に直接アップロードした後にいくつかのサムネイルを作成したいことです。
そのために私は仮定します:
- サーバーはs3から画像を読み取る必要があります
- サーバーはサムネイルを作成する必要があります
- サーバーはサムネイルをs3に直接保存する必要があります
- サーバーはコールバックを取得し、それに応じてサムネイルを表示する必要があります。
- サーバーは、サムネイルが作成されたフィールドを保存する必要があります
ここで、画像のアップロードが完了したら、次の画像コントローラー コールバックを呼び出します。
def create
#get the url from the callbcack
#e.g: image[image_source] = https://<BUCKET>.s3.amazonaws.com/uploads/myimage.png
@image = Image.new(params[:image])
@image.user_id = current_user.id
@image.save
end
そしてモデル:
class Image < ActiveRecord::Base
attr_accessible :image_thumb, :user_id, :width ,:album_type_id
after_save :enqueue_image
mount_uploader :image_thumb, ImageUploader
def enqueue_image
#checking if i have the original image
if self.image_source present?
#what to do here?
#how can i call the carrierwave function to create the thumbnails?
#how to send the thumbnails directly to s3 with callback name?
end
end
end