旅行用のウェブサイトに数千枚の高解像度JPEG写真が保存されています。いくつかの重要なEXIFメタを抽出するRubyコードを書きたいと考えています画像のデータ値はで、各画像ファイルの内容全体がダウンロードされていません(サイズは大きく、たくさんあります)。Rubyを使用したリモート画像からの効率的なEXIFメタデータの読み取り
EXIFデータを読み込むために 'exifr' gemを使用しています。ローカルファイルだけでなく、あらゆるタイプのIOオブジェクトで動作するように設計されています。ただし、ブロックread_body
メソッドを渡すとインクリメンタルな読み取りが可能ですが、Net::HTTPResponse
オブジェクトは実際にはIOオブジェクトではありません。しかし、このインクリメンタルリードが実際にファイルの一部だけをダウンロードできるかどうか、または効率を上げるためにコンテンツをまとめて読み取ることができるかどうかについて(つまり、コンテンツ全体がダウンロードされる)矛盾するレポートを読んでいます。
私は可能なことをしようとしていますか? Net::HTTP
の代替案を調べるべきか、または、低レベルのTCPソケット(IOオブジェクトでなければならない)を取得して、取得するイメージを十分に読み取るための 'exifr'コードに渡す方法がいくつかありますEXIFデータ?その他のソリューション?
私は、[JPEG圧縮のWikipediaの記事](http://en.wikipedia.org/wiki/JPEG#Syntax_and_structure)の迅速なスキムミルクを取り、EXIFパケットがさえ 'に位置しているのだろうか信頼性の高いファイルの位置?特定のカメラが予測可能かもしれませんが、EXIFデータがファイルの最後または最初にあると確信できるとは思いません...あなたがヒューリスティックのために十分似ている場合に見なければならないファイルのEXIFデータ... – sarnold