Rails Carrierwave - 在特定条件下压缩文件

Rails Carrierwave - compress file in specific conditions

我正在使用 Carrierwavecarrierwave-base64Amazon S3 上上传文件。

上传的文件超过xMB如何压缩。文件以 jpeg、png 和 jpg 格式作为图像。

我认为你可以使用 before :store 钩子。例如:

before :store, :compress_file

def compress_file(_file)
  file_size = (File.size(file.path).to_f / 2**20)
  if file_size > x
    # compress file
  end
end