2016-11-24 94 views
0

比方說,我得到了一個像媒體池一樣的項目。基本上我想能夠上傳任何你可以上傳的文件(圖片,視頻,pdf等)。如何在Rails中處理多種文件格式?

我一直在考慮使用重定向技術,因爲它支持即時處理圖像,這很好,因爲會有一個圖像api,讓用戶以任何他需要的大小請求圖像。

但是,我將如何處理pdf上傳或視頻上傳(甚至視頻處理)?

有沒有更好的替代重寫?

非常感謝!

回答

1

首先,文件附件庫通常可以上傳任何類型的文件。最流行的是回形針CarrierWave。他們讓您有能力處理上傳,這是適合視頻。但是,它們不允許您進行即時處理。

蜻蜓和重新提交,在另一方面,設計用於即時處理。 Refile的優勢在於它支持直接上傳。 Refile的一個缺點是你必須通過Rack應用程序提供所有文件,所以如果你有上傳到S3的視頻,你不會處理,你仍然需要支付第一次非緩存渲染的性能損失。 Dragonfly的優勢在於它擁有更先進的即時處理支持,並且還允許您在上傳過程中進行處理。

最後,我們來到神社。神社是專爲上傳處理而設計的,它是唯一支持background jobs的本地支持的庫,對於視頻轉碼等較長時間的處理特別有用。如果您想將處理委託給第三方服務,神社也可以集成Transloadit。但是,您也可以使用Shrine進行即時處理,使用Cloudinary等服務,甚至連接Dragonfly(請參閱this post)。神殿支持direct uploads,如Refile。其他一些顯着特點包括:metadata support,logging,flexible file validation,resumable uploads,更好的安全性和其他。

由於神社可以說比其他任何文件附件庫都具有最多的功能和靈活性,所以我會推薦去做。

相關問題