• 2
  • 新人请关照

大文件分片传输问题

我使用Spring Boot作为上传文件的服务端,因为文件比较大,所以需要分片传输。

比如500M的文件,前端分成10个分片,一个分片50M,发送10个请求到服务端,服务端生成一个临时文件,然后处理这10个请求,把这10个请求的数据都写在这个临时文件上,假设这个临时文件名为sf.txt.tmp,最后处理完了,修改文件名字为sf.txt,最后把文件传到云端(OSS),此时文件上传完成。

这样的流程在单机情况下没有问题。但是在分布式环境下,服务端可能有多台,如果这10个请求分发到不同服务器上,这样就会有问题。
目前是让前端直接连接OSS传输文件,实现起来方便,而且OSS自带断点续传的功能。但是这样又多出一个问题,OSS如果上传通过文件,OSS上的老文件会被覆盖,这样的话就会出现前端恶意上传同名覆盖,覆盖原有文件的情况,这种怎么解决?

阅读 1k
评论
    1 个回答
    • 437
      撰写回答

      登录后参与交流、获取后续更新提醒