2013-10-17 18 views
11

Javascript kullanarak uzak görüntülerden EXIF ​​verileri almak istiyorum. Şu anda Tamam çalışıyor, ancak EXIF ​​verilerini çıkarmadan önce tüm görüntüyü indirdiğim için görüntü büyük olduğunda oldukça yavaşlıyor.Uzak bir resmin bir bölümünü javascript içine almak mümkün mü?

EXIF ​​verileri her zaman bir görüntünün ilk 128kb'si içinde (inanıyorum) bu yüzden tüm görüntüye gerçekten ihtiyacım yok.

Bir şekilde uzak bir dosyanın ilk XXX kb'sini JS ile birlikte almak mümkün mü?

+9

@AkshayKhandelwal: Aslında yapabilirsiniz. Range: 'başlığına bakın. – SLaks

+0

Bunun yerine, bu bilgileri zamandan ayıklayabilir, belki veritabanınıza kaydedebilirsiniz. Bu şekilde mevcut bilgileriniz – Ibu

+0

Hey iyi biliyor ol. Bunların hepsini bilmiyordum. Sizin de aynı şeyi anlamamıza yardım ettiniz. –

cevap

7

A range request gayet güzel çalışır:

$.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); 
    } 
}); 

Çevrimiçi demo: http://jsfiddle.net/9CknY/1/

Ama same-origin-policy geçerlidir.

İlgili konular