如何在 amazon s3 上使用 docx gem?

How to use docx gem with amazon s3?

我有这个创建操作来使用 docx gem 和 msworddoc-extractor gem

从 doc 和 docx 文件中提取数据
   if @subject.save
    if @subject.odoc.present?
      @odoc_url = @subject.odoc.url
      if File.extname(URI.parse(@odoc_url).path) == ".docx"
        @subject.homework= ""
        doc = Docx::Document.open(@odoc_url)
        doc.paragraphs.each do |p|
          @subject.homework = @subject.homework+p.to_html
        end
      else
        MSWordDoc::Extractor.load(@odoc_url) do |doc|
          @subject.homework= doc.whole_contents
        end
      end
      @subject.save
    end

现在,doc 文件工作正常。我的问题是 doc = Docx::Document.open(@odoc_url) 当我在本地机器上使用代码时它工作正常。当我投入生产时我得到一个错误 Zip::Error: File s3.amazonaws.com/~~~ not found我不太确定如何加载文件以便 docx gem

所以我终于得到了它,而无需使用 open-uri 下载文件

doc = Docx::Document.open(open(@odoc_url).path)