载波:将上传的PNG转换为JPG,替换原始版本(或:拥有与原始文件不同文件格式的版本)。

我有以下模型。

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.comlayersspaste.js。 并以base64编码字符串的形式保存到一个 <textarea>,然后使用 https:/github.comy9vcarrierwave-base64。 gem。

class Finding < ApplicationRecord
  mount_base64_uploader :screenshot, ScreenshotUploader
end

在HTML表格中,它看起来像这样。

upload form

上传后,结果是以下文件:

  • screenshot.png 是PNG,不是JPG!
  • thumb_screenshot.jpg
  • print_screenshot.jpg

但我需要将原文件也转换为JPG,因为我需要节省磁盘空间。我怎样才能实现这个目标呢?

解决方案:

你可以像写在 载波文件替换成 system("mogrify -resize '1200\>' #{file.file}")system("mogrify -format jpg #{file.file}") 然后删除原文件。

给TA打赏
共{{data.count}}人
人已打赏
未分类

AWS EKS没有发现舵机舱,但舵机安装正常。

2022-9-9 0:55:18

未分类

FileNotFoundException打开失败。在将图像文件保存到android的内部存储时,出现EPERM(操作不允许)。

2022-9-9 0:55:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索