美文网首页
http range 下载大文件分片

http range 下载大文件分片

作者: 前端早晚自习 | 来源:发表于2023-11-26 21:11 被阅读0次

上传分片下载也能分
HTTP 协议范围请求允许服务器只发送 HTTP 消息的一部分到客户端。范围请求在传送大的媒体文件,或者与文件下载的断点续传功能搭配使用时非常有用。

检测服务器端是否支持范围请求

假如在响应中存在 Accept-Ranges 首部(并且它的值不为“none”),那么表示该服务器支持范围请求。例如,你可以使用 cURL 发送一个 HEAD 请求来进行检测。

image.png image.png

从服务器端请求特定的范围

  • 表示第二个500字节:bytes=500-999
  • 表示最后500个字节:bytes=-500
  • 表示500字节以后的范围:bytes=500-
  • 第一个和最后一个字节:bytes=0-0,-1
  • 同时指定几个范围:bytes=500-600,601-999
  • bytes=0- 不限制

成功时服务器返回 206 Partial Content 状态码和 Content-Type:multipart/byteranges; boundary=3d6b6a416f9b5 头部,Content-Type:multipart/byteranges 表示这个响应有多个 byterange。每一部分 byterange 都有他自己的 Content-type 头部和 Content-Range,并且使用 boundary 参数对 body 进行划分。

image.png

只有指定范围的图片被返回

image.png
axios
            .get("http://172.16.8.24:8080/test.png", {
                headers: { "Range": "bytes=0-100000" }, // 字节
                responseType: "arraybuffer",
            })
            .then((res) => {
                console.log(res);
                resolve(res.data);
            })
            .catch((err) => {
                reject(err);
            });

总结

最后把结果拼在一起还待完善~

相关文章

  • PHP中curl连接复用

    公司最近举行了一个赛码活动,以小组为单位,耗时最短的获胜。 场景很简单,从一个接口分片下载(HTTP的Range)...

  • 记录一次SequenceInputStream引起的栈溢出Sta

    前言 笔者使用http上传大文件,采用分片上传的方式,下把大文件分割成等分的小文件上传到服务器目录再合并到写入大文...

  • Http大文件分段下载

    http不可能直接读取很大的文件一定会导致oom,而且传送很容易失败,一旦失败又要重新开始传输,这样体验可想而知,...

  • Java 超大文件排序

    思想 超大文件无法一次性全部加载到内存中; 可以将超大文件分片排序,然后遍历分片,输出排序后内容至指定文件; 编码...

  • 断点下载

    断点下载重点 利用HTTP请求头的Range属性,就可以实现从指定位置开始下载表示头500个字节:Range: b...

  • 阿里oss文件分片上传

    OSS文件分片上传 依赖 基础参数dto 具体上传方法 小文件上传 大文件上传,分片oss自己处理 处理逻辑:前段...

  • Blob类型

    Blob定义、使用场景使用场景:分片上传,File继承自Blob类型。可用Blob的slice方法对大文件进行分片...

  • Python实现大文件分片上传记录

    Python大文件分片上传记录 后端 flask 示例 config.py 前端示例

  • 「Unity」基于UnityWebRequest的HTTP文件断

    此处需要手动开启协程未考虑网络文件变动的问题,需要的话可以自行进行md5比对若需要分片下载,可以通过修改Range...

  • 大文件分片上传

    转载https://mp.weixin.qq.com/s/HAvngRjJAbakRX40GHIx7g[https...

网友评论

      本文标题:http range 下载大文件分片

      本文链接:https://www.haomeiwen.com/subject/olnawdtx.html