通过Java将大文件传输到远程服务器的最可靠方法?

我正在构建一个 Java应用程序,它允许我们的用户加载文件列表并将这些文件传输到我们的服务器进行视频编码.我已经构建了一个用于在文件传输之前和之后管理文件的API,但我需要确定一个好的传输协议来实际移动文件.

现在我倾向于使用Apache Commons Net(参见:http://commons.apache.org/net/)软件包以及FTP将文件从客户端计算机移动到服务器.在那里,我将使用安全的API调用文件移动到他们需要去的地方.

这是最好的路线吗?有没有更好的方法可靠地传输大(1 GB)文件?有没有办法使用这种方法恢复破碎的下载?我想避免传统的HTTP POST请求,因为它们不可靠,无法恢复损坏的上传.

谢谢!

解决方法

您没有提及使用Amazon S3是否是您的解决方案的选项,但它们确实提供本机部分上载支持.基本工作流程是:

>创建上传占位符并按住响应键
>上传块 – 可以根据需要并发和重试
>使用响应键将块组合成一个文件

Their SDK提供内置文件切片和块上传.

即使S3不是最终位置,您也可以使用S3作为上传握笔并在方便时下载文件以进行永久存储.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...