Je cette créer une action pour extraire des données de doc et docx en utilisant la pierre précieuse docx et la pierre précieuse msworddoc-extracteurComment utiliser gem docx avec amazon s3?
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
maintenant, les fichiers doc fonctionne très bien .. Mon problème est avec doc = Docx::Document.open(@odoc_url)
quand j'utilise le code sur ma machine locale cela fonctionne bien .. quand je pousse dans la production je reçois une erreur Zip::Error: File s3.amazonaws.com/~~~ not found
Je ne suis pas vraiment sûr comment charger le fichier pour être accessible à la gem docx
vous stockez probablement le fichier dans le système de fichiers de dev alors qu'en production, vous le stockez dans S3. téléchargez d'abord le fichier (essayez http://stackoverflow.com/questions/30179444/download-file-from-s3-to-rails-4-app) puis enregistrez-le localement puis poursuivez la lecture. – jvnill
Dois-je le télécharger? je veux dire msworddoc-extracteur fonctionne très bien sans télécharger le fichier –