我正在使用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视为图像(该类型被检测为application / pdf)。
当我检查我的Mac上的文件时,看起来上传的版本(从S3抓取)已被ImageMagic重新编码,表明它不被视为非图像文件。
有没有办法告诉CarrierWave避免对PDF进行任何图像处理?
提前致谢, 菲尔。
答案 0 :(得分:0)
我能够自己解决这个问题。似乎所有上传都调用了旨在纠正图像方向和剥离EXIF数据的回调,而不仅仅是PDF。