ruby-on-rails - Rails 读取文件 Yomu gem - Psych::SyntaxError 异常 - 如何救援
问题描述
我有 Rails 应用程序,如果我上传它,它会给我来自 doc、docx 和 pdf 的页面数。
为了获取页数,我在 Document 模型中以下列方式使用 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
但它没有用,它仍然抛出错误并破坏流程。
任何建议如何解决?
解决方案
推荐阅读
- http-post - Microsoft Teams HttpPost 操作因 BadRequest 而失败
- jquery - Jquery - 在输入悬停时显示 div
- npm - 使用 KotlinJS 构建独立的 NPM 模块
- c# - 处理请求时发生未处理的异常。(asp.net 上的 Rest api 排序)
- python - 用户指导的 Jupyter 笔记本
- google-cloud-platform - 在 GCP 中关闭结算帐户和禁用结算帐户有什么区别?
- wordpress - “post_per_page”不显示指定的帖子数
- java - Class.forName(“org.postgresql.Driver”) 在加载 PostgreSQL Driver 时抛出 ClassNotFoundException()
- python - 为什么两台 Mac 电脑对 tkinter 事件的响应不同?
- xml - xml 到文件夹 vb.net