Gem exifr 可以获取远程图片的 exif 吗?

metal · 2012年02月23日 · 最后由 skandhas 回复于 2012年02月24日 · 3048 次阅读

RT.有人做过没有。


require 'exifr'
require 'open-uri'

image_url = open('http://ww3.sinaimg.cn/large/6f1ff5d5jw1doe2of9kkcj.jpg')
EXIFR::JPEG.new(image_url).model

搞定了 = =。

imagemagick 就可以哇

#2 楼 @hooopo 我现在在 windows 下。晚上回家试试吧。

#3 楼 @metal imagemagick 是跨平台的呀

#4 楼 @hooopo rmgick 装不上呀。

#5 楼 @metal imagemagick 不是 rmagick

#5 楼 @metal rmgick 的编译 我在http://ruby-china.org/topics/1079 里回复了。 再贴一下吧: 如果有条件,尽量不要在 windows 下部署 Rails。如果是有什么特殊原因不得不在 windows 下部署的话,我这里有些编译 native gem 的经验,希望能对你有帮助:

  1. 用 RubyInstaller 来装 Ruby 环境。
  2. 配置好 Devkit,这一步很重要,编译 native gem 就靠它了。
  3. 对于单纯的 native gem,比如说是某些 gem 为了性能,不用 ruby 写,而用 c 写,只用到了 ruby 的 C 接口,这样的 gem 不需要担心,devkit 会很顺利的编译通过。
  4. 对于使用了其他开源库的 gem,该开源库也有对应的 windows 版(换句话说是 windows 下该库能编译并使用)。那么这个 gem 也能编译,但是需要配置一下 CPATH 和 LIBRARY_PATH。 比如说编译 RMagick 这个 gem,它依赖于 ImageMagick,而 ImageMagick 是有 windows 版的,也有 SDK。这样的话,在 gem install 之前,先在命令行下设置 CPATH 和 LIBRARY_PATH: set CPATH=d:\ImageMagick-6.5.6-Q8\include set LIBRARY_PATH=d:\ImageMagick-6.5.6-Q8\lib 然后再 gem install rmagick 就能编译通过。
  5. 对于依赖于系统特性的 gem,比如使用 linux 的 epoll,使用了 MacOS 的 fsevent,那个这个 gem 在 windows 下是不能编译通过的。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册