带有云和载波的RMagick压缩

问题描述 投票:0回答:1

我想在将图像上传到Cloudinary之前在Carrierwave中使用RMagick压缩。

[本地imagemagick测试表明,一个37MB的文件(请不要问它为什么有这么大的大小;))被压缩到只有4,6 MB的文件质量是可以接受的。

所以现在我想在rmagick的rails应用程序中使用相同的功能,但是似乎根本没有进行预处理。上传器上传37MB的原始文件。

这是我目前所拥有的:

class ImageUploader < CarrierWave::Uploader::Base

  include Cloudinary::CarrierWave
  include CarrierWave::RMagick

  process :compress => Magick::JPEGCompression

  def compress(compression_type)    
    manipulate! do |img|
      img = img.compression(compression_type)
    end     
    img     
  end
  ...

如何实现压缩并且仅将压缩文件上传到cloudinary?

ruby-on-rails carrierwave cloudinary rmagick
1个回答
0
投票

您可能想尝试我们的incoming transformation。例如,您可以使用upload widget上传图像并将传入的转换添加到上传预设中。或使用SDK。例如:

Cloudinary::Uploader.upload("sample.jpg", 
  :width => 2000, :height => 1000, :crop => :limit, :quality => 70)
© www.soinside.com 2019 - 2024. All rights reserved.