9

我正在开发一个应用程序来使用 NSURLSession 上传多个文件,现在我的文件已成功上传。但现在我想要实现的是暂停、恢复和取消上传,就像我们在下载任务中所做的那样。可能吗。?任何帮助,将不胜感激。谢谢

4

2 回答 2

7

我研究了很多,但一无所获。在我假设这是一个下载任务在我的代码上尝试了这个之后,我开始知道我们可以使用 NSURLSession 来“暂停,恢复”上传任务,就像我们在下载任务中所做的那样。

要暂停任务,只需调用 [yourUploadTask suspend]; resume 即可[yourUploadTask resume]; 取消 [yourUploadTask cancel];

它可能会帮助使用 NSURLSession 处理 uploadTask 的人。

于 2015-01-27T11:33:26.650 回答
0

可以尝试使用继承自URLSessionTask的suspend()、resume()方法,但是resume()会导致上传失败。您可以通过自动重试上传错误(即除 400 秒以外的任何非永久性错误)在上传类中解决此问题,但这意味着从头开始重新启动每个挂起的上传并丢失已上传的数据。

URLSessionUploadTask 没有像 URLSessionDownloadTask 那样的 cancel(byProducingResumeData completionHandler: @escaping (Data?) -> Void),因此没有保存状态数据来恢复和继续上传。要实现一个需要滚动我们自己的,我还没有做过,但我相信需要特定的服务器支持来实现,以及较低级别的网络 API 的用户。

于 2018-06-12T21:10:27.500 回答