发布:阿里云代理凯铧互联
标签:断点续传,阿里云代理商,凯铧互联
“断点续传”是什么?
阿里云技术回复:
很多应用场景中简单的上传功能是不能够满足我们的需要的。在上传文件的时候有可能会遇到网络出现问题,重新连接之后上一次传输就失败轻量,又需要我们进行重新传输上传。针对这种情况,阿里云对象存储OSS提供分片上传(Multipart Upload)来达到断点续传的效果。顾名思义,分片上传就是将要上传的文件分成多个数据块(OSS里又称之为Part)来分别上传,上传完成之后再调用OSS的接口将这些Part组合成一个Object。那么下面就来详细了解断点续传。分片上传适用场景:
1】恶劣网络环境:例如移动端,出现上传失败的时候,就可以对失败的part进行独立的重试,就不需要再重新上传其它的Part
2】断点续传,在上传文件的时候中途暂停之后,在需要传输的时候可以从上传完成的Part的位置继续进行上传
3】加速上传:需要上传到对象存储OSS 的本地文件非常的大,这时候我们可以并行上传多个Part 这样加快上传的速度。
4】流式上传:可以在需要上传的文件大小还不确定的情况下开始上传。这种场景在视频监控等行业应用中比较常见。
基本流程
通常的流程如下:
1】首先需要将我们要上传的文件按照一定的大小进行分片
2】初始化一个分片上传任务(InitiateMultipartUpload)
3】逐个或并行上传分片(UploadPart)
4】完成上传(CompleteMultipartUpload)(如下图)
在这个操作过程中阿里云代理凯铧互联提醒一下这些地方需要注意:
1】除去最后一块Part,其它的Part的大小都不能够小于100KB,不然会直接导致调用CompleteMultipartUpload接口的时候出现失败
2】我们把需要上传的文件切分成Part之后,文件的顺序是通过在上传过程中指定的partNumber 来进行确定的,在实际的执行中是没有顺序要求的,因此可以实现并发上传,并发上传个数并不是越多越快,这就需要结合用户自身的网络情况以及设备负载等综合来进行考虑了。
3】在默认的情况之下,已经上传但是没有调用CompleteMultipartUpload的Part是不会自动回收的。所以假如要终止上传并且删除占用的空间请您调用AbortMultipartUpload。
断点续传
因为已经上传到OSS商的Part的生命周期是永久的,因此想要实现断续传功能是相对比较容易的。
使用分片上传的过程之中,假如系统出现意外崩溃,可以在重庆的时候通过ListMultipartUploads和ListParts两个接口来谋取某个Object商的所有的分片上传任务和每个分片上传任务中上传成功的Part列表。通过这样就可以从最后一块成功上传的Part开始继续上传,从而达到断点续传的效果。暂停和恢复上传实现原理也是一样的。
断点续传功能使用最多在移动设备上传和大文件上传之中
上传限制
1】上传的大小限制:这种上传方式之下,Object的大小是由Part来决定的,最大的支持数为10000块Part。其中每一块Part最小为100KB(最后一块Part除外),最大为5GB,同时Object的大小不能超过48.8TB。
2】命名的限制:
使用UTF-8编码
长度必须在1-1023字节之间
不能以“/”或者“\”字符开头
上传的安全及授权
为了防止第三方往开发者的Bucket未经授权上传,阿里云对象存储OSS提供了Bucket和Object级别的访问权限控制。为了授权给第三方上传,OSS除了Bucket和Object级别的访问权限外,还提供了账号级别的授权,见上传安全之授权第三方。
上传后续操作
1】文件上传到阿里云对象存储OSS 上之后,开发者可以使用上传后回调来向指定的应用服务器发起回调请求,进行下一步操作
2】假如上传的是图片,您可以使用图片服务进行后续的处理
3】若上传的是音频或者是视频文件,可以直接使用媒体转码进行后续的处理
为什么选择我们:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里云、腾讯云等,作为阿里云,腾讯云百度云,金山云重要的合作伙伴,专注于为企业用户提供云计算及云计算的解决方案。总部设在北京,并在内蒙设有办事处。做为一家综合性方案商,凯铧互联向各行业用户提供基于云计算的各种解决方案。为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评。