浏览器文件中转优化方式?
再浏览器中需要从A服务器下载一个500M的文件(甚至更大),然后上传到B服务器,目前使用xhr方式直接下载和上传,但在过程中很卡,内存占用也很高。能否优化成从A服务器下载的过程中直接拿到响应流读取数据,每次读取就直接往B服务器的上传的请求流中写入,那数据就不需要暂存在浏览器。
使用fetch api可以拿到响应流读取数据,但是好像没有api可以向请求流中写数据
回复
1个回答
test
2024-06-23
fetch('/file.zip').then((resp) => {
fetch('/upload', { body: resp.body, method: 'POST', duplex: 'half' });
});
注意:目前safari不支持请求流; http1.1不支持请求流,需要HTTP2以上的协议版本
参考: https://developer.chrome.com/docs/capabilities/web-apis/fetch...
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容