2

我正在使用 CarrierWave 上传文件(carrierwave 0.6.2,Rails 3.2.3)。在开发中,文件保存在本地,在生产中,它们使用 Fog 保存到 S3。

当 PDF 在生产中上传时,它似乎被 imagemagick 重新采样并且质量降低。此外,文件大小大幅增加。

该站点托管在 Heroku 上,因此使用 CarrierWave Backgrounder 在后台完成图像处理。

在模型上,我有各种版本调用,但只有在上传的文件是图像时才会触发所有版本:

version :thumb, :if => :image? do
    process :resize_to_fill => [200, 200]
end

def image?(new_file)
    new_file.content_type.include? 'image'
end 

我已经检查过了,它似乎没有将 PDF 视为图像(该类型被检测为应用程序/pdf)。

当我检查我的 mac 上的文件时,看起来上传的版本(从 S3 获取)已被 ImageMagic 重新编码,这表明它没有被视为非图像文件。

有没有办法告诉 CarrierWave 避免对 PDF 进行任何图像处理?

在此先感谢菲尔。

4

1 回答 1

0

我能够自己解决这个问题。似乎所有上传文件都调用了旨在纠正图像方向和去除 EXIF 数据的回调,而不仅仅是 PDF。

于 2013-06-09T19:09:06.547 回答