我一直在致力于安卓系统中的文件上传,发现HTTP和FTP都可以进行文件上传,但是HTTP是由Android本地支持的,但是FTP是通过http://commons.apache.org/proper/commons-net/来实现的,也发现有自己的优点和缺点-,但从移动的角度来看,却没有,因为在移动设备中,网络中断是很常见的,
所以我的问题
1)应该坚持上传,无论在手机上是什么,还是使用都行?
2) My Server是存储库,我仍然可以使用上传吗?
( 3)使用的是多部分上传,就像一样,或者经常中断时如何处理网络问题
发布于 2016-03-01 13:27:00
( 1)我是否应该坚持HTTP多部分文件上传,不管手机上有什么内容,还是使用FTP还行?
由于设计的原因,FTP在任何使用专用IPv4地址的网络中都是一个非常糟糕的选择--这可能是由于IPv4地址不足而导致的,在大多数移动网络中都是如此。虽然它可能在一个网络中工作,但在另一个网络中却不能工作,如果您试图将FTP和SSL结合起来以保护传输,情况就会变得更糟。
相反,HTTP和HTTPS的工作通常没有问题。通过使用范围请求,您还可以下载部分文件,这在恢复中断的下载或只加载文档的必要部分(如大PDF文件的部分)时非常重要。FTP的恢复能力有限,但不如HTTP范围请求那么有用。
至于恢复上传,FTP有REST (重新启动)命令。但是,您需要首先了解在服务器上接收了多少数据,以便知道在哪里重新启动。HTTP没有内置的上传简历。您可以在POST或PUT请求中使用Content-Range头,但是您的服务器需要了解如何处理这个头。或者,您可以将上传扩展到多个请求上,这同样需要特殊的服务器端代码来在服务器上重新生成原始文件。
这两种协议的开销大致相同,除了非常小的文件之外,任何东西都可以忽略。
2)我的服务器是FTP存储库,我还可以使用HTTP上传吗?
如果您的服务器没有HTTP接口,那么就不能使用HTTP。但是,仅仅是对"FTP存储库“的描述并没有提供足够的信息来说明访问它的方式。
( 3) FTP是否像HTTP一样使用多部分上传,或者经常中断时如何处理网络问题?
如果它坏了,您需要找出在哪里重新启动上传(检查远程长度),然后使用REST命令。
发布于 2016-03-01 12:17:37
问错问题了。客户端操作系统并不重要,也不应该是决定您技术的因素。这两种都有图书馆。两者都有好处,选择一个适合您的用例。这可能是你应该问的。
至于问题2-否。FTP和HTTP是不同的协议。你用另一个。通常可以在浏览器中查看FTP,因为浏览器实现了这两种协议。使用HTTP与FTP服务器对话是行不通的。
发布于 2016-03-01 12:21:53
这取决于你想要的带宽和可靠性;)所以也许所有的智能手机操作系统都有相同的答案:
它们都适用于Android,因此您的选择取决于对这些因素的评估。
https://stackoverflow.com/questions/35722441
复制相似问题