我有一个非常简单的函数,它使用xhr请求下载文件的块,如下所示:
var blobXHR = new XMLHttpRequest();
//api.media.chunkURL() returns the correct URL for each chunk
blobXHR.open("GET", api.media.chunkURL({
fileId: fileID,
chunkId: chunkNumber
}));
blobXHR.responseType = "arraybuffer";
blobXHR.onerror = function (e) {
console.log("Error: ", e);
};
var arrayBuffer;
blobXHR.onload = function (e) {
arrayBuffer = blobXHR.response;
};
blobXHR.send();
现在,使用Chrome,Firefox和几乎所有Android浏览器,此下载功能完全没有任何障碍。不幸的是,当使用基于Safari或iOS的任何东西时,我在blobXHR.onerror()中得到一个非常模糊的错误。当我将此错误输出到控制台时,我在" e.currentTarget.responseText":
下得到此回复Error: InvalidStateError: DOM Exception 11
我已经查找了许多与此类似的问题,似乎没有任何效果。有没有理由我只使用Safari / iOS浏览器体验这个?
编辑:这是我在onerror()中的console.log(blobXHR)时得到的:
答案 0 :(得分:1)