2012-05-21 45 views
0

我使用Rails 3.0.7,Ruby 1.9.2和Paperclip 2.7 w/MiniExiftool gem从上传的照片和视频中刮取数据,然后存储该数据作为DB中的序列化json;最终我可以根据需要使用IM/FFMPEG旋转照片/视频。使用Paperclip和MiniExiftool为照片和视频抓取exif数据

不幸的是我没有太多的运气。每当我尝试在原始文件上使用MiniExiftool.new实例化MiniExiftool.new(使用model.photo.queued_for_write [:original])时,MiniExiftool gem在lib/mini_exiftool.rb:90:在`load'中引发异常,因为文件是开放阅读或只是不存在。

我把代码放在几个地方:回形针后处理挂钩,回形针处理器和延迟作业。我似乎无法得到任何工作。我的回退计划是在上传后15秒钟运行延迟作业,使用model.photo.to_file下载文件,运行mini exif,存储exif数据并进行相应处理(即在必要时根据exif旋转数据进行旋转)。然而,该解决方案迄今为止还没有奏效,因为MiniExiftool与通过model.photo.to_file下载的文件引发了完全相同的错误。

有没有其他人试图做这个确切的事情或非常相似的东西?在尝试处理照片/视频上传时似乎是一种常见需求。

任何帮助表示赞赏!谢谢。

路易

+0

你可以张贴一些代码? – PinnyM

+0

所以我想出了为什么我无法在model.photo.to_file之后使用MiniExiftool。我在Windows上(我知道,我知道),我的Nginx临时位置是我的简短用户配置文件目录,MiniExiftool不喜欢。因此,一旦我将其更改为c:\ temp,并且Paperclip的to_file方法下载了我的S3文件,那么一切都很顺利! – lgates

回答