【发布时间】:2020-06-22 15:54:39
【问题描述】:
我有以下型号:
class ScreenshotUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
convert :jpg
version :thumb do
process resize_to_fill: [50, 50]
end
def extension_whitelist
%w(jpg jpeg gif png)
end
version :print do
process border: ['black']
process quality: 80
end
end
图片的上传是通过https://github.com/layerssss/paste.js粘贴剪贴板中的图片并以base64编码字符串保存到<textarea>,然后使用https://github.com/y9v/carrierwave-base64 gem上传:
class Finding < ApplicationRecord
mount_base64_uploader :screenshot, ScreenshotUploader
end
在 HTML 表单中,如下所示:
上传后,结果为以下文件:
-
screenshot.png这是 PNG,不是 JPG! thumb_screenshot.jpgprint_screenshot.jpg
但我需要将原始文件也转换为 JPG,因为我需要节省磁盘空间。我怎样才能做到这一点?
【问题讨论】:
标签: ruby-on-rails png jpeg carrierwave