如何使用java上传> 50gb文件

时间:2012-09-28 13:00:47

标签: java file-upload

我们要求将> = 50GB文件上传到服务器,可能是文件系统。 为了实现这一目标,我们可以将文件拆分为块并在上传后合并它们。这是我在长时间谷歌搜索后想出来的。

有没有最好的方法来上传这么大的文件? (记住性能问题)。

2 个答案:

答案 0 :(得分:3)

使用FTP协议可能证明只有优势:

- 这是一个标准的

- 我确定java中有很多库(我的答案基于.NET的存在)

-it有一个“附加”方法,允许你在中断时重新启动你的转移(你可以先检查你部分上传的文件的大小,然后知道在哪里重新开始阅读以完成缺失的部分)

答案 1 :(得分:2)

以下是一些需要考虑的选项:

  • HTTP可能是上传和下载最常用的协议。

  • FTP可以快一点,但这更像是对Web服务器设计的反映,而不是协议。

  • 显式压缩可能会缩短上传时间。

  • 有一些不太知名的协议和框架可通过各种方式提供更快的数据传输。 This page描述了4种开源替代方案。

  • “快速”文件传输有许多商业工具。

但请注意:

  1. “更快”的机制倾向于通过垄断网络带宽来实现其速度;即他们通常不是网络世界中的“好公民”。
  2. 在任何网络通信路径中通常都存在瓶颈,它会对上传时间设置上限。如果您正在谈论从人们的家庭系统上传,瓶颈很可能是用户ISP链路上的上传数据速率......这通常比下载数据速率慢很多。