我想使用 Javascript 从远程图像中提取 EXIF 数据。目前它工作正常,但是当图像很大时它会变得很慢,因为我在提取 EXIF 数据之前下载了整个图像。
EXIF 数据总是在图像的前 128kb 内(我相信),所以我真的不需要整个图像。
是否有可能只用 JS 获取远程文件的第一个 XXX kb?
我想使用 Javascript 从远程图像中提取 EXIF 数据。目前它工作正常,但是当图像很大时它会变得很慢,因为我在提取 EXIF 数据之前下载了整个图像。
EXIF 数据总是在图像的前 128kb 内(我相信),所以我真的不需要整个图像。
是否有可能只用 JS 获取远程文件的第一个 XXX kb?
范围请求工作得很好:
$.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/
但同源政策适用。