我有这个创建操作,使用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可以访问的文件
答案 0 :(得分:0)
所以我最终得到它而无需使用open-uri下载文件
doc = Docx::Document.open(open(@odoc_url).path)