我需要在每次上传前后通过其他 HTTP POST 请求在后台上传文件。
以前我使用的是 beginBackgroundTaskWithExpirationHandler,它在 iOS 6 之前一直运行良好,但从 IOS 7 开始,它只被限制了大约 180 秒,这是一个问题。
我已经阅读了有关 NSURLSession 的文档,我们有后台传输服务。但问题是它只允许在后台上传和下载。它不允许我在后台每次上传后发出 POST 请求。
那么有什么办法可以在后台上传的同时发出POST请求吗?
任何正确方向的提示都将不胜感激。
最佳答案
我认为你可以使用 NSURLSessionDownloadTask 来发送一个 POST。
IMO,下载任务并不意味着它用于下载。这意味着您的 POST 请求 (json/xml) 的响应将被下载到本地文件。然后您可以打开该文件并解析它以获取请求。
如果你愿意,你甚至可以使用 NSURLSessionDownloadTask 将文件上传到 S3。并且 s3 响应将“下载”到本地文件..
有关更多信息,请参阅苹果开发者论坛中的这个问题 https://devforums.apple.com/thread/210515?tstart=0
关于iOS 7后台上传和POST请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19700572/