Ruby on rails CarrierWaveDirect直通上传不';t似乎在s3中创建备用:thumb版本
我试图在保存原始图像后将缩略图保存到s3,但它似乎不起作用。然而,原始文件就在那里 我的猜测是,因为s3是直接提交图像的,所以缩略图创建回调不会发生 我尝试了一个Ruby on rails CarrierWaveDirect直通上传不';t似乎在s3中创建备用:thumb版本,ruby-on-rails,image-processing,carrierwave,Ruby On Rails,Image Processing,Carrierwave,我试图在保存原始图像后将缩略图保存到s3,但它似乎不起作用。然而,原始文件就在那里 我的猜测是,因为s3是直接提交图像的,所以缩略图创建回调不会发生 我尝试了一个。重新创建\u版本,我甚至看到s3做了一些我在调用时通常会看到的事情,但是image.url(:thumb)仍然提供了404结果的链接 这是我上传的代码: include CarrierWave::MiniMagick include CarrierWaveDirect::Uploader version :thumb do p
。重新创建\u版本代码>,我甚至看到s3做了一些我在调用时通常会看到的事情,但是image.url(:thumb)
仍然提供了404结果的链接
这是我上传的代码:
include CarrierWave::MiniMagick
include CarrierWaveDirect::Uploader
version :thumb do
process :resize_to_fill => [100, 100]
end
storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
以下是生成s3直接提交表单的模板代码:
<% badge.image_uid.success_action_redirect = "http://" + request.host_with_port + "/badge_builders/" + badge.badge_builder.id.to_s + "/edit" %>
<%= direct_upload_form_for badge.image_uid do |f| %>
<div class="form-group">
<%= f.file_field :image_uid, required: true %>
<%= f.submit 'Submit', class: 'btn btn-primary btn-lg' %>
</div>
<% end %>
我做错什么了吗?还是说没有一个优雅的非补丁解决方案?谢谢你的帮助 我认为我对回调的直觉似乎是正确的。以下是修复它的方法(在成功\u操作\u重定向逻辑中):
if params[:key] #and @builder.badge.key.include? "${filename}"
@builder.badge.key = params[:key]
@builder.badge.save
@builder.badge.image_uid.recreate_versions!
@builder.badge.image_uid = @builder.badge.key
@builder.badge.save
end