11

我正在使用 CarrierWave 和 Fog 将附件存储到 S3 上的 ActiveRecord 模型。我可以使用它们来生成 URL,但我似乎找不到任何方法来实际读取文件。

这是 Fog gem 甚至会做的事情,还是我需要为此使用 S3 gem?

4

2 回答 2

25

您可以read在上传器对象上使用该方法。如果我们有一个名为 MyModel 的模型,它有一个名为的字段,该字段attachment是使用 CarrierWave 的mount_uploader方法添加的,我们可以执行以下操作:

obj = MyModel.first
contents = obj.attachment.read

这将获得文件的实际内容。看看这个文档

于 2012-08-27T16:13:23.363 回答
3

你只需要open-uri

require 'open-uri'
file_contents = open(string_url) {|f| f.read }
于 2012-08-27T16:12:43.037 回答