gpt4 book ai didi

ruby-on-rails - 使用jquery文件上传将原始文件直接上传到s3后如何使用carrierwave创建缩略图

转载 作者:数据小太阳 更新时间:2023-10-29 07:39:48 24 4
gpt4 key购买 nike

我正在通过 jquery_file_upload 上传图片(Railscast 第 383 集)上传工作完美,我在回调函数中得到了 url

问题是:我想在直接上传到s3后创建一些缩略图

为此我假设:

  1. 服务器必须从 s3 读取图像
  2. 服务器必须创建缩略图
  3. 服务器必须将缩略图直接存储在 s3 中
  4. 服务器必须获得回调并相应地显示缩略图。
  5. 服务器必须存储创建的缩略图的字段

现在,在图像完成上传图像 Controller 回调后调用:

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

最佳答案

您是否一定需要在上传后创建缩略图?如果没有,我认为您可以在初始上传期间使用 version 创建缩略图(或任意大小)。示例:

 class ImageUploader < CarrierWave::Uploader::Base
version :thumb do
process :resize_to_fill => [50, 50]
end
end

关于ruby-on-rails - 使用jquery文件上传将原始文件直接上传到s3后如何使用carrierwave创建缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com