2013-10-17 5 views
11

Javascriptを使用してリモートイメージからEXIFデータを抽出します。現時点では問題ありませんが、EXIFデータを抽出する前に画像全体をダウンロードしてから画像が大きくなるとかなり遅くなります。javascriptでリモートイメージの一部を取得できますか?

EXIFデータは常にイメージの最初の128kb以内です(私は信じています)ので、イメージ全体は本当に必要ありません。

JSを使用してリモートファイルの最初のXXX kbだけをフェッチすることはできますか?

+9

@AkshayKhandelwal:実際は可能です。 'Range:'ヘッダを参照してください。 – SLaks

+0

代わりに、事前にその情報を抽出して、データベースに保存することができます。あなたはその情報を利用できるようにこの方法で – Ibu

+0

知っておいてよかった。私はこれらのすべてについて知りませんでした。あなたが私に同じことを理解するのを助けてくれたことは素晴らしい –

答えて

7

range request作品だけで罰金:

$.ajax({ // assuming that you use jQuery 
    url: 'http://example.com/images/001.jpg', 
    headers: { 
     range: 'bytes=0-131071' // inclusive 
    }, 
    complete: function (xhr) { 
     var data = xhr.responseText; 
     console.log(data.length); // 131072 
     console.log(xhr.status); // 206 
     yourExifParser(data); 
    } 
}); 

オンラインデモ:http://jsfiddle.net/9CknY/1/

しかしsame-origin-policy適用されます。

関連する問題