我正在使用带有 MiniExiftool gem 的 Rails 3.0.7、Ruby 1.9.2 和 Paperclip 2.7 从上传的照片和视频中抓取数据,然后将该数据作为序列化 json 存储在数据库中;最终,我可以根据需要使用 IM/FFMPEG 来旋转照片/视频。
不幸的是,我运气不佳。每当我尝试在原始文件上使用 MiniExiftool.new 实例化 MiniExiftool(使用 model.photo.queued_for_write[:original])时,MiniExiftool gem 在 lib/mini_exiftool.rb:90:in 'load' 处引发异常,因为文件要么打开以供阅读,要么不在那里。
我把代码放在几个地方:回形针后期处理钩子、回形针处理器和延迟工作。我似乎什么也做不了。我的后备计划是在上传和使用model.photo.to_file下载文件后约15秒运行延迟作业,运行迷你exif,存储exif数据并进行相应处理(即在必要时根据exif旋转数据旋转)。但是,该解决方案到目前为止还没有奏效,因为 MiniExiftool 与通过 model.photo.to_file 下载的文件引发了完全相同的错误。
有没有其他人试图做这个确切的事情或非常类似的事情?在尝试处理照片/视频上传时,这似乎是一种常见需求。
任何帮助表示赞赏!谢谢。
路易斯