详细说明javascript片段上传和断点续传的实际项目实现
众所周知,上传一个大文件时,会因为各种原因突然中断,然后需要从头上传整个文件,这是不是很让人抓狂?那么如何才能避免这种尴尬的局面呢?片段上传可以解决这个痛点
原理:文件上传就是把文件切成小块,然后逐个上传
后台协议界面:
1.getRestChunkInfo获取当前文件的上传状态
输入:{文件名、文件大小、md5、令牌}
输出:{chunk _ list,chunk _ size,chunk _ count}
Chunk_list是一个数组,不会上传块号等信息。
Chunk_size:切片的大小,
Chunk_count:切片总数,
2.uploadAPI
输入:表单数据对象,块的具体信息
{文件名、文件大小、文件md5、令牌}
输出:包含真/假的对象
步骤:
1.获取要上传的文件,并使用md5算法作为消息摘要,即md5代码作为文件的唯一标识符
2.将md5代码、文件名、文件大小和标记值作为输入参数发送到后台的第一个API
3.接口返回诸如chunk_list之类的参数。使用chunk_list.shift调用第二个接口,逐个上传文件块
4.所有文件上传后,为了防止中间出现错误片段,下次请求第一个接口。如果chunk_list的长度为0,则表示所有片段上传成功。
完成以上步骤后,后台确认所有片段上传完毕后即可合并文件。
插图:
其中,令牌值不是强制参数,只是出于安全考虑为了防止CSRF攻击。注意:安全考虑还具有签名和验证的功能
困难:
1.如何切片,使用Blob对象的切片方法Blob.slice (startbyte,end byte);
2.当前文件的上传片段数,然后确定我开始上传哪一个片段。
以上就是本次介绍的关于javascript片段上传和断点续传的实际项目实现的所有知识点。有需要的朋友可以从中学习。
版权声明:详细说明javascript片段上传和断点续传的实际项目实现是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。