如何为 fetch API 调用设置大请求 Body

How to set large Request Body for fetch API call

我有一个 fetch POST 正在发送一个大 JSON object:

const body = JSON.stringify(largeItem); // 80MB

const request = new Request(uri, {
    mode: 'cors',
    method: 'POST',
    headers: new Headers({ 'Content-Type': 'application/json' }),
    credentials: 'same-origin',
    body
});

const response = await fetch(request);

这会导致错误:

source-file.ts:72 Uncaught (in promise) TypeError: Failed to fetch

当我在开发工具中查看此请求时,它看起来不完整 - 没有请求 body 并且大部分请求 headers 都丢失了。此外,它在没有状态代码的情况下出错,而是状态为:

(failed) net::ERR_CONNECTION_RESET

许多其他 GETPOST 对具有相同凭据的相同资源的请求工作正常。此代码适用于较小的 body.

如何 POST 一个大(在本例中为 80MB)JSON body 的请求?

我认为您的问题与 httpweb server(或者我猜是浏览器)限制有关

请阅读此答案以了解我在说什么