如何使用CarrierWave从S3得到真正的文件(How to get the real file

2019-09-21 02:57发布

我有读取文件和索引其内容的应用程序。 我将它们存储在磁盘本身,但我现在使用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类。

我怎样才能得到真正的文件?

Answer 1:

调用@document.file.read将让你从S3在Carrierwave文件的内容。



文章来源: How to get the real file from S3 using CarrierWave