网站建设 之 大文件上传原理

其原理其实就是在客户端将文件分割成多个小的分片,然后再将这些分片一片一片的上传给服务端,服务端拿到所有分片后再将这些分片合并起来还原成原来的文件。

那服务端怎么知道我合并出来的文件是否和服务端上传的文件完全一样呢?

这就需要用到文件的MD5值了。文件的MD5值就相当于是这个文件的“数字指纹”,只有当两个文件内容完全一样时,他们的MD5值才会一样。所以在上传文件前,客户端需要先计算出文件的MD5值,并且把这MD5值传递给服务端。服务端在合并出文件后,在计算合并出的文件的MD5值,与客户端传递过来的进行比较,如果一致,则说明上传成功,若不一致,则说明上传过程中可能出现了丢包,上传失败。
 

因此我只需要切片然后上传就可以了

看后端的样子,也是不断提交,到最后整体组合到一块完事,原理就是这样的

然后我看前端的代码,是并行上传,最后给一个上传完毕的信息这样


版权声明:本文为HeroIsUseless原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。