我有一个应用程序,它读取文件的内容并为其编制索引。我将它们存储在磁盘本身,但现在我正在使用Amazon S3,因此以下方法不再起作用。
这是这样的:
def perform(docId)
@document = Document.find(docId)
if @document.file?
#You should't create a new version
@document.versionless do |doc|
@document.file_content = Cloudoc::Extractor.new.extract(@document.file.file)
@document.save
end
end
end
@document.file
返回FileUploader
,doc.file.file
返回CarrierWave::Storage::Fog::File
类。
如何获取真实文件?
答案 0 :(得分:9)
调用@document.file.read
将从Carrierwave中的S3获取该文件的内容。