我已经折腾了几天了,但还是没有结果 :( 如果能有帮助就太感激了。
我正在尝试使用下面这种方法将文件下载为类型化数组:
var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true); //This is the path to my file
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response;
var array = new Uint8Array(arrayBuffer ); //This is the array I retrieve from my file
};
oReq.send(null);
当我将所有资源放在我的电脑硬盘上时,它可以完美地工作,并且我会收到一个看起来像这样的响应数据(这只是示例数据):
array[0] = 10;
array[1] = 15;
array[2] = 20;
array[3] = 17;
array[4] = 18;
array[5] = 23;
array[6] = 25;
array[7] = 12;
array[8] = 2;
array[9] = 10;
...
然而,当我将所有东西上传到服务器时,结果看起来像这样:
array[0] = 10;
array[1] = 15;
array[2] = 20;
array[3] = 17;
array[4] = 18;
array[5] = 25; //This number is missing from above, it should be 23
array[6] = 12;
array[7] = 2;
array[8] = 10;
array[9] = 18;
...
我已经尝试了所有我能想到的方法来解决这个问题。清除缓存、打开和关闭 gzip,使用不同设备进行测试(例如在手机和电脑上加载),但是迄今为止没有任何帮助。
让我感到奇怪的是,同样的数字每次都是错误的。因此,我认为它们并没有在网络中“丢失”。而且当我用另一个服务器进行测试时,我得到了不同的数字下降。所以似乎每个服务器都会丢失一组不同的数字。
有人知道这是为什么吗,并且能否指导我朝着解决问题的方向前进?非常感谢!