2012-07-05 105 views
-1

我試圖使用CarrierWave的extension_white_list方法:CarrierWave extension_white_list似乎不工作

def extension_white_list 
    [/jpe?g/, 'gif', 'png'] 
end 

現在,每當我上傳的東西(甚至JPEG文件和PNG格式),我得到一個CarrierWave::IntegrityError

任何人都知道我做錯了什麼?

+0

我不確定這是否與您的問題完全相關,但我只是失去了幾個小時,直到我發現他們從「extension_white_list」更改爲「extension_whitelist」,這會破壞每個人的代碼! https://stackoverflow.com/a/41594901/135767 – lucasarruda 2018-02-28 15:42:53

回答

-3

問題是我上傳到S3,並且由於某種原因它無法獲取擴展名。

+0

你是如何解決這個問題的?我對EPS文件有同樣的問題。即使在我將白名單方法註釋掉之後,它也不會上傳EPS文件。編輯:和PDF – bcackerman 2012-11-19 15:34:42

+0

這不是一個答案。什麼是實際的解決方案? – Devin 2013-02-04 20:27:27

0

您是否試過['jpeg','jgp','png','gif']?

看來正則表達式搞亂了這個調用,因爲它應該是一個包含extension_white_list的「單詞」(參見Rails - Using %W)的數組。

+0

是的。這個例子是從他們的文檔中獲取的:http://rdoc.info:8080/github/jnicklas/carrierwave/master/CarrierWave/Uploader/ExtensionWhitelist – zombor 2012-07-05 17:16:57

+0

服務器是否正在上傳文件以更改擴展名? 在檢查之前是否完全上傳文件? 扔掉任何我能想到的東西:)我會張貼我的'答案'作爲評論,但我不允許評論不屬於我自己的東西。 – Fatlad 2012-07-06 05:34:09