我正在使用CarrierWave和Fog將附件存儲到S3上的ActiveRecord模型。我可以使用它們來生成URL,但我似乎無法找到任何方法來實際讀取文件。有沒有辦法使用Fog和CarrierWave讀取文件對象?
這是霧的寶石將甚至做的事情,還是我需要使用S3寶石?
我正在使用CarrierWave和Fog將附件存儲到S3上的ActiveRecord模型。我可以使用它們來生成URL,但我似乎無法找到任何方法來實際讀取文件。有沒有辦法使用Fog和CarrierWave讀取文件對象?
這是霧的寶石將甚至做的事情,還是我需要使用S3寶石?
您可以使用read
方法上傳對象。如果我們有一個叫做爲MyModel模型,它有一個名爲其用CarrierWave的mount_uploader
方法添加attachment
領域,我們可以做到以下幾點:
obj = MyModel.first
contents = obj.attachment.read
這將讓該文件的實際內容。退房this doc。
你只需要open-uri
require 'open-uri'
file_contents = open(string_url) {|f| f.read }
超級,它就像你說的那樣工作。謝謝! – AKWF
肯定會更好+1 – apneadiving
不,這可以*不*工作在local_root集合的本地存儲文件上。 – AKWF