我目前正在设计一个系统,用于从应用程序上传多个图像到服务器。文件将存储在本地设备上,当前的想法是将它们分成块,然后逐块上传到服务器,并等待成功消息后再上传下一个。
这个过程对于用户来说应该是无缝的,他们应该按下按钮提交所有图像,然后能够关闭应用程序并使其在后台继续运行。在iOS7中,我发现您可以将上传传递给新的NSURLSession API,并且让它独立于您的应用程序处理上传任务。
我想知道是否有人知道这种传输的可靠性。如果我传递整个图像,如果互联网连接在中途断开会发生什么?后台传输服务会在以后重试吗?我们的想法是上传一张图像,如果在传输过程中失败了,我们可以在稍后恢复连接时从那个点简单地继续上传。
我们的另一个想法是将文件分成块,然后将所有块作为单独的NSURLSessionUploadTasks传递,并假定它们最终都将发送到服务器。
另一个想法是使用以下方法发送第一个块:
uploadTaskWithRequest:fromData:completionHandler:
然后在completionHandler中发送下一个块。 我的问题是,如果在后台处理下一个块,那么...
@property BOOL discretionary = true
这意味着只有在插入电源并连接WiFi时才会发送数据。我需要它能在所有网络上运行,并能够处理中断。
我不需要代码,只是想知道这是否是实现此目标的正确方法。