我正在使用POST方法将视频上传到服务器。上传视频会放在main()
的{{1}}内。之后,它排队等候NSOperation
。
当网络在Wi-Fi和蜂窝数据之间切换时,当前操作失败。
如何处理网络切换NSOperationQueue
失败的问题。
使用NSOperation
进行视频上传
我尝试使用sendSynchronousRequest:
,但结果仍然相同
答案 0 :(得分:1)
这里很少有建议。
首先,您需要建立一种机制,以了解您何时从WiFi到蜂窝电话。如果是这样,您需要将cancel
消息发送到操作以取消它。
然后,您需要将操作转换为异步操作(覆盖asynchronous
属性,旧属性命名为concurrent
)。每次上传一大块数据时,您需要验证操作是否已被取消,检查isCancelled
属性,并在必要时进行回滚。
使用同步操作可以阻止您取消正在运行的任务。
类似的方法可以与NSUrlSession
一起使用(请参阅invalidateAndCancel
方法)。在这种情况下,您可以避免使用操作来包装上载任务。
如果您需要别的东西,请告诉我。