我想使用 NSURLSession 将文件上传到服务器。
案例是: 1.它应该恢复将文件上传到由于应用程序崩溃而停止的服务器。2. 它也应该处理后台上传。
我想使用 NSURLSession 将文件上传到服务器。
案例是: 1.它应该恢复将文件上传到由于应用程序崩溃而停止的服务器。2. 它也应该处理后台上传。
你应该使用背景NSURLSession
。如果您的应用程序在上传过程中崩溃或用户离开了应用程序,则在后台NSURLSession
上传将在后台无缝继续。delegate
上传完成后,您的应用将通过)。
所以创建NSURLSessionConfiguration
with backgroundSessionConfigurationWithIdentifier
,然后NSURLSession
使用该配置实例化 a 。
有几个注意事项:
您不能使用完成处理程序模式。您必须使用基于委托的实现。
您必须handleEventsForBackgroundURLSession
在应用程序委托中实现,捕获completionHandler
它传递给您的信息,并再次实例化后台会话。同样,在您的NSURLSession
委托方法中,您必须实现URLSessionDidFinishEventsForBackgroundURLSession
,它将调用保存的完成处理程序。
有关更多信息,请参阅URL Session Programming Guide中的Background Task Considerations ,请参阅NSURLSession 类参考中的同名(但文本不同)部分,或参阅 WWDC 2013 What's New in Foundation Networking,其中 Apple 首次向我们介绍了背景会议。
Try AFNetworking Library to upload image asynchronously.You can find a brief example in this thread.