我们已经写了为Android(和iOS)的应用程序,它允许用户将照片上传到我们的REST服务器。 我们打的问题是,有时用户在可怕的细胞信号和没有WIFI的地方。 所以,我在想,如果这样的,或者预建的解决方案,或采取推迟这些上传到以后如果有只提供乏善可陈网络选项的推荐路径。
现在Android上我使用的AsyncTask上传拍摄图像的流表示。 图像的最大尺寸被裁剪到1280,而另一个是方面缩放,所以图像是不是大规模。
用户可以有长达2个小时我想没有信号,所以它会不会需要尝试上传的每一分钟。 此外,可能有多个上传,因此需要某种排队的,我想。
我还不能肯定是什么iOS应用被利用,但我可以找出是否有帮助。
最好的办法是将照片保存到SD卡,并把它的路径在数据库中。 这里的数据库就像一个队列。 所以,每当用户访问互联网,应用程序可以检查是否有数据库中的任何条目,并开始上传。 一旦你上传的照片,你从数据库中删除该记录。
现在,只要上传而言,我建议在服务做,而不是一个的AsyncTask。 这样,您就可以使用AlarmManager调用以定期服务,并检查是否有任何上传。
我在我的应用程序之一,但对于文档中使用此方法。 它的工作原理就像一个魅力。 希望帮助。
在iOS中我用ASIHTTPRequest ,但此刻,你可以找到其他解决方案( MKNetworkKit )。 我做了一个应用程序完全一样,你在做什么,所以我所做的就是:
- 检查是否有互联网,如果是继续,否则停止。
- 尝试发送一张照片,如果成功,去下一个,否则留在队列中的照片,并转到下一张照片。
- 重复该过程。
让我们想象一下推杆队列20张照片的用户,并启动过程中,在一天结束的时候,他可能会再次检查哪些成功哪些没有。 当然,他可以重新发送摆在首位什么失败。