是否可以在javascript中获取远程图像的一部分

Is it possible to fetch part of a remote image in javascript?

本文关键字:图像 一部分 程图像 javascript 获取 是否      更新时间:2023-09-26

我想使用 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/

但同源政策适用。