Rails读取文件Yomu gem-Psych :: SyntaxError异常-如何救援

时间:2019-02-20 14:46:53

标签: ruby-on-rails yaml

我有Rails应用程序,如果我上载它,它将提供doc,docx和pdf的页面数。

要获取页数,我在文档模型中通过以下方式使用Yomu gem:

  def update_information
      doc = Yomu.new(self.doc.url)
      self.num_of_pages = doc.metadata['xmpTPg:NPages']
      self.file_updated_at = doc.metadata['modified'] || doc.metadata['Creation-Date'] || Time.now
      self.file_created_at =  doc.metadata['Creation-Date'] || Time.now
   end

我的一个文档抛出异常:

*** Psych::SyntaxError Exception: (<unknown>): mapping values are not allowed in this context at line 23 column 15

而且我想不出如何挽救它或避免问题而不破坏体验(这是一个网站)。

通过谷歌搜索,我尝试了这个:

begin
  doc = Yomu.new(self.doc.url)
  self.num_of_pages = doc.metadata['xmpTPg:NPages']
  self.file_updated_at = doc.metadata['modified'] || doc.metadata['Creation-Date'] || Time.now
  self.file_created_at =  doc.metadata['Creation-Date'] || Time.now
rescue Psych::SyntaxError, StandardError => e
  print e
end

但是它不起作用,它仍然会引发错误并破坏流程。

任何建议如何解决?

0 个答案:

没有答案