我正在编写一个用于访问二进制数据的处理程序。目前我正在这样做:
...
d = new FileReader();
d.onload = function (e) {
var response_buffer, data, byte_len, temp_float;
response_buffer = e.target.result;
data = new DataView(response_buffer);
byte_len = data.byteLength;
// create empty placeholder for binary data received
tmp_data = new Float32Array(byte_len / Float32Array.BYTES_PER_ELEMENT);
len = tmp_data.length;
// Pre-parse
for (i = 0; i < len; i += 1) {
tmp_data[i] = data.getFloat32(i * Float32Array.BYTES_PER_ELEMENT, true);
}
...
哪个工作正常并将我获取的数据(文件/http)“预处理”到我的tmp_data数组中。
但是我还需要能够处理大文件(比如 1GB+)。我的想法是尝试只获取文件的一部分,因为从二进制结构中我可以确切地知道我必须获取哪些偏移量。
问题:
如果我知道偏移量和长度而不是必须获取整个文件,是否可以对大文件中的“范围”字节进行 XHR?
谢谢!