2017-08-29 130 views
3

我使用fetch.js(https://github.com/github/fetch)将相对较大的json对象发送到后端。 json很大,它包含一个SVG图像字符串。使用fetch.js启用gzip压缩

我不清楚如果fetch.js默认使用gzip压缩,或者如果我需要手动压缩和添加标题。任何帮助,将不胜感激。

return new Promise((resolve, reject) => { fetch(api_base + "/api/save-photo", { method: 'POST', mode : 'cors', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) .then((response) => { if (response.status === 404) { throw new Error('404 (Not Found)'); } else { return response.json().then((json) => { console.log('save poster response: ', json); return json; }); } })

回答

1

目前,我正在寻找如何请求主体压缩为获取API请求的例子。

我目前的解决方案涉及将我正在寻找的物品分成5k批次。每个批次都通过包装在承诺中的提取发送到服务器。

然后,客户端使用promise.all来合并来自每个批处理请求的响应。

有人建议我gzip /压缩一个大的单个请求,然后使用节点可写流将数据发送回客户端。

回到原来的q,我也想知道如何压缩请求。