大文件分片传输问题

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

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

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

阅读 3.8k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题