0

在我本地安装的浏览器(Edge Chromium 和 Google Chrome)更新到 Chromium >=94 的版本后,获取大文件确实失败了。

我测试了两个实现,Fetch 和 XmlHttpRequest。在这两种实现中,HTTP 状态和响应是相同的。在 Chromium 版本 93 的浏览器中,会返回预期的响应。在使用 Chromium v​​ersie 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();
});
4

0 回答 0