11

我想使用 Javascript 从远程图像中提取 EXIF 数据。目前它工作正常,但是当图像很大时它会变得很慢,因为我在提取 EXIF 数据之前下载了整个图像。

EXIF 数据总是在图像的前 128kb 内(我相信),所以我真的不需要整个图像。

是否有可能只用 JS 获取远程文件的第一个 XXX kb?

4

1 回答 1

7

范围请求工作得很好:

$.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/

同源政策适用。

于 2013-10-17T17:57:39.740 回答