好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 zyt温柔发 于 2023-4-23 09:37 编辑
1.思路解析:
思路是为了解决实际业务中大文件上传,中途网络中断和充分利用多请求,加速上传,保存上传记录。
针对上述问题,我们采用将大文件进行拆分,拆分成若干个临时小文件,进行上传。每个临时文件进行记录。有了这个思路,那么在上传若干个临时文件时,就需要进行告知服务端,本次上传的大文件基本信息,本实例采用前后端分离实现。
2.具体步骤:
1、前端引入插件file-md5.js(md5算法生成文件序列)和plupload(文件上传)
2、将文件分片并通过md5算法生成分片文件的唯一标识
3、按分片上传文件,后端接收文件名(name)、md5序列号(md5)、文件大小(size)、分片总数(chunks)、当前分片序列号(chunk)、文件二进制(file)
4、通过分片总数和md5序列号获取文件名并初始化内部类记录分块上传文件信息map,根据MD5序列号记录上传文件名、并根据uuid生成分块文件名
5、分块写入文件(通过RandomAccessFile)
6、为文件添加上传分块记录(status设置为true)
7、判断文件所有分块是否已上传(根据status的状态值)
8、删除key
9、将上传文件记录到数据库
3.Git地址:
https://github.com/gaoyuyue/MyUploader-Backend.git
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|