卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11201本站已运行3223

Java文件上传之断点续传实现(包含单文件、多文件、大文件、文件秒传、图片上传)

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
卓越飞翔博客
上一篇: Python控制串口发送指令
下一篇: 用AI生成的获取豆瓣电影top250,xpath和BeautifulSoup
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏