[英]How to create thumbnails with carrierwave after uploading the original file directly to s3 with jquery file upload
I am uploading image via jquery_file_upload (Railscast episode #383) The upload work perfectly and i get the url in the callback function 我通过jquery_file_upload上传图片(Railscast第#383集)上传工作完美,我在回调函数中获取了url
The problem is: I want to create some thumbnails after uploading directly to s3 问题是:我想在直接上传到s3后创建一些缩略图
for that i assume: 为此我假设:
Now, after the image finish to upload the image controller callback called: 现在,在图像完成后上传图像控制器回调调用:
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
And the model: 而型号:
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
Do you necessarily need to create the thumbnails after uploading? 上传后你是否需要创建缩略图? If not, I think that you can create a thumbnail (or as many sizes as you want) during the initial upload by using
version
. 如果没有,我认为您可以使用
version
在初始上载期间创建缩略图(或任意大小)。 Example: 例:
class ImageUploader < CarrierWave::Uploader::Base
version :thumb do
process :resize_to_fill => [50, 50]
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.