10

我需要的是一个解决方案(一个库),用于从移动设备(iOS、Android)到服务器(PHP)的文件传输。基本要求是文件应该被分成块,这样如果在发送文件的过程中数据连接丢失,我不需要重新发送整个文件。低内存使用也是强制性的。我想到了类似 p2p 的方法。最佳实践?

谢谢。

4

3 回答 3

8

我会推荐你​​ POST 请求。在这里查看使用情况,内存使用率低,但您必须自己处理拆分文件(这应该非常简单,只需修改该解决方案将数据发送到服务器的块保存您的实际位置)。

于 2012-10-28T17:50:44.383 回答
4

我建议使用 HTTP 作为底层技术。

在 Android 上,我会推荐 loopj 的异步 http 库 ( loopj ),因为您可以在干净且易于使用的包中获得自动重试、cookie 处理和其他一些不错的功能。您可能会特别看一下“使用 RequestParams 上传文件”一章。

要拆分文件,请查看此代码段。在这种情况下,文件直接写入文件系统,使用另一个输出流将允许您轻松地将块存储在内存中或任何您喜欢的地方。如果内存使用非常重要,您可以尝试读取块直到缓冲区已满,然后直接将其发送到您的服务器,读取下一个块,发送它等等。

干杯

于 2012-10-30T12:20:21.877 回答
2

目前在工具方面存在差距。如果你愿意,可以使用开源下拉框。我现在正在构建一个。www.nofolder.com 就是我们的身份,它几乎处于测试阶段,并将包括一个 android 应用程序。基本上没有任何好的工具可以做到这一点.. 最近最好的东西是 sparkleshare 我知道他们有一个 android 应用程序

于 2012-10-29T19:29:52.673 回答