如何在亚马逊s3上使用docx gem?

时间:2017-03-14 00:55:05

标签: ruby-on-rails amazon-web-services amazon-s3 docx

我有这个创建操作,使用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可以访问的文件

1 个答案:

答案 0 :(得分:0)

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

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