【Http】大文件传输 | 与tcp的关系

TCP和HTTP请求之间的关系

一个TCP链接可以对应多个HTTP请求,只要这个TCP链接没有断开,就可以发送HTTP请求。

Django分片下载大文件

seek获取文件一部分然后用FileResponse返回文件的方法不太可以(返回的数据看起来有点奇怪),尝试用streamingHttpResponse是可以的,参考如下。
Django 中使用流响应处理视频 streamingHttpResponse
Django使用流响应streamingHttpResponse处理视频

整理的参考链接:
把大象装进冰箱:HTTP 传输大文件的方法(HTTP协议的具体规范)

django 上传下载都有 最常见的那个搜索结果

大文件分片上传
[服务器端]:
[客户端]:分片上传插件,例如:webuploader。大文件分片上传,断点续传,秒传 实现
一个比较完整的,断点续传,hash等等都有考虑

大文件分片下载
[服务器端]:使用http的range头。参考链接见上。
[客户端]:先获取文件大小,再循环请求,将所有下载好的文件合并为一整个zip。手摸手,带你完成大文件分片下载(该链接实操时会发现一个问题,下载的文件切片全都存储在内存中,内存爆炸,大于3、4G的文件就不太行)

前端下载文件的一些拟解决方案:
前端JS 下载大文件解决方案(主要2G以下)
上文提到一个链接:Saving huge files ( 2GB + )
有两个插件,fileSaver和strameSaverStreamSaver.js可以参考一下
Saving huge files链接里面提到一个Filesystem API,搜索之后现在应该舍弃这种叫法变为File System Access API,一些相关链接:ile System Access API文档汇总(JavaScript操作本地文件)

中心思想对了但不确定有没有用:aiohttp 异步http请求-5.下载大文件边下载边保存(节省内存)
没看懂写的什么意思,但很专业的样子:前端自个突破浏览器Blob和RAM大小限制保存文件的骚玩法!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值