在我本地安装的浏览器(Edge Chromium 和 Google Chrome)更新到 Chromium >=94 的版本后,获取大文件确实失败了。
我测试了两个实现,Fetch 和 XmlHttpRequest。在这两种实现中,HTTP 状态和响应是相同的。在 Chromium 版本 93 的浏览器中,会返回预期的响应。在使用 Chromium versie 94 的浏览器中运行相同的代码时,我确实得到了 HTTP 200,但响应总是null
知道这是否是特定的 Chromium 94 问题吗?
return new Promise((resolve, reject) => {
var url = getBaseUrl() + serviceUrl;
fetch(url,{
method: "GET",
headers: {
importance: "low"
}
}).then((response) => {
if (response.status === 200) {
response.arrayBuffer().then(buffer => resolve(buffer))
} else {
reject(response);
}
})
});
和
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
var url = getBaseUrl() + serviceUrl;
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function () {
if (this.status === 200) {
resolve(this.response);
} else {
reject(this.response);
}
};
xhr.send();
});