ruby-on-rails – 使用Carrierwave和Rails 3可以使用相同的上传
发布时间:2020-12-16 19:05:42 所属栏目:百科 来源:网络整理
导读:在我的Rails应用程序中,我想允许用户通过Carrierwave上传图像或非图像文件.目前Carrierwave正在处理和处理图像文件,但不幸的是它完全丢弃了非图像文件.单个Carrierwave上传器是否有一种干净的方式来处理图像和非图像文件? 我将在下面包含我当前的上传者: c
在我的Rails应用程序中,我想允许用户通过Carrierwave上传图像或非图像文件.目前Carrierwave正在处理和处理图像文件,但不幸的是它完全丢弃了非图像文件.单个Carrierwave上传器是否有一种干净的方式来处理图像和非图像文件?
我将在下面包含我当前的上传者: class AssetUploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end version :thumb do process :resize_to_fill => [300,300] end version :icon do process :resize_to_fill => [48,48] end def extension_white_list %w(jpg jpeg gif png pdf doc xls docx xlsx ppt) end end 解决方法
我遇到了这个问题.我用一个更多级别的间接的hoary comp sci解决方案解决了它:一个trampoline / thunk方法,动态决定是否根据文件扩展进行处理.
你可以在这里找到实现:https://gist.github.com/995663 (在版本块中引入逻辑的天真方法实际上不起作用,因为CarrierWave DSL如何工作 – 逻辑需要推迟到调用之前) 我希望有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |