我正在使用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