2
我使用載波上傳文件(carrierwave 0.6.2,Rails 3.2.3)。在開發過程中,文件保存在本地,生產時使用Fog將其保存到S3中。載波上傳到S3時載波下采樣PDF
在生產中上傳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進行任何圖像處理?
在此先感謝, 菲爾。
您是否嘗試過使用[pry](https://github.com/pry/pry)的''binding.pry'來查看您的拇指版本是否觸發了PDF?如果不是,您的pdf將在其他地方得到處理。如果是這樣,那個斷點應該有希望給你一個關於你如何通過「圖像」條件的概念。 – Taavo 2013-04-27 14:24:14
似乎可能是一個愚蠢的問題,但是你是否刪除了「進程」調用並且問題仍然存在? – fotanus 2013-05-02 02:08:52