我想使用NSURLSession将文件上传到服务器。
案例是: 1.由于应用程序崩溃,它应该恢复从停止的位置上传文件到服务器。 2.它也应该处理后台上传。
答案 0 :(得分:0)
尝试AFNetworking库以异步方式上传图片。您可以在this thread中找到一个简短示例。
答案 1 :(得分:0)
您应该使用背景NSURLSession
。如果您的应用程序崩溃或用户在上传过程中离开了应用程序,并且后台为NSURLSession
,则上传将在后台无缝继续。上传完成后,您的应用会通过delegate
收到通知(如果您的应用在下载完成后还没有活动,它将以后台模式启动,此时你可以做任何你需要的清理工作。
因此,请使用NSURLSessionConfiguration
创建backgroundSessionConfigurationWithIdentifier
,然后使用该配置实例化NSURLSession
。
有几点需要注意:
您无法使用完成处理程序模式。您必须使用基于委托的实现。
您必须在应用委托中实施handleEventsForBackgroundURLSession
,捕获它传递给您的completionHandler
并再次实例化后台会话。同样,在NSURLSession
委托方法中,您必须实现URLSessionDidFinishEventsForBackgroundURLSession
,它将调用已保存的完成处理程序。
有关详细信息,请参阅 URL会话编程指南中的Background Task Considerations,请参阅NSURLSession class reference中相同名称(但文本不同)的部分,或参阅WWDC 2013年What's New in Foundation Networking,Apple首次向我们介绍了背景会议。