【发布时间】:2014-07-20 08:16:38
【问题描述】:
我正在使用带有 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 秒运行延迟作业,运行 mini exif,存储 exif 数据并进行相应处理(即在必要时根据 exif 旋转数据进行旋转)。然而,该解决方案到目前为止还没有奏效,因为 MiniExiftool 会引发与通过 model.photo.to_file 下载的文件完全相同的错误。
有没有其他人尝试过做这个确切的事情或类似的事情?在尝试处理照片/视频上传时,这似乎是一种常见需求。
感谢任何帮助!谢谢。
路易
【问题讨论】:
-
所以我明白了为什么在 model.photo.to_file 之后我无法使用 MiniExiftool。我在 Windows 上(我知道,我知道),我的 Nginx 临时位置是我的简短用户配置文件目录,MiniExiftool 不喜欢它。因此,一旦我将其更改为 c:\temp,Paperclip 的 to_file 方法下载了我的 S3 文件,一切都开始正常工作!
标签: ruby-on-rails ruby-on-rails-3