我正在使用 CarrierWave 和 Fog 将附件存储到 S3 上的 ActiveRecord 模型。我可以使用它们来生成 URL,但我似乎找不到任何方法来实际读取文件。
这是 Fog gem 甚至会做的事情,还是我需要为此使用 S3 gem?
我正在使用 CarrierWave 和 Fog 将附件存储到 S3 上的 ActiveRecord 模型。我可以使用它们来生成 URL,但我似乎找不到任何方法来实际读取文件。
这是 Fog gem 甚至会做的事情,还是我需要为此使用 S3 gem?
您可以read
在上传器对象上使用该方法。如果我们有一个名为 MyModel 的模型,它有一个名为的字段,该字段attachment
是使用 CarrierWave 的mount_uploader
方法添加的,我们可以执行以下操作:
obj = MyModel.first
contents = obj.attachment.read
这将获得文件的实际内容。看看这个文档。
你只需要open-uri
require 'open-uri'
file_contents = open(string_url) {|f| f.read }