OStack程序员社区-中国程序员成长平台

标题: ios - 大数据后台上传 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 02:05
标题: ios - 大数据后台上传

我需要将大量照片从我的 iOS 设备上传到服务器。例如,500 张照片。我应该怎么做才对?

我为每张照片创建了带有 NSURLSession 后台 session 配置的上传任务。我尝试制作自己的自定义队列,其中每个下一个任务都会在前一个任务完成后启动。但是有一段时间没有开始新的任务。我猜,因为这一切都发生在幕后。有关此问题的更多信息,您可以阅读 here

(如果使用队列的方法是正确的,请您建议异步任务队列的良好实现,因为我可能在我的实现中搞砸了一些东西)

所以在上面链接的文章之后,我的猜测是我应该立即开始所有上传任务(而不是一个接一个)。但我有效率问题。如果我为每张照片创建一个任务,它将有 500 个后台异步任务和大约 1 GB 的并行数据上传。我想,这会导致网络出现一些问题。

综上所述,在 iOS 中后台上传大量数据(我的例子是 500 张照片)哪种方式才是正确的?



Best Answer-推荐答案


不幸的是,由于糟糕的设计决策,Apple 的 API 在这项任务中表现糟糕。您面临几个主要障碍:

我怀疑最好的方法是:

需要注意的是,所有这些都必须相当快地完成。您可能会发现有必要提前将文件预先组合到 ZIP 存档中,以免被杀死。但是不要试图将它们合并到一个文件中,因为这样在重试时截断头部会花费太长时间。 (从表面上看,您还可以提供任何参数作为 URL 的一部分,并使 POST 正文成为原始数据,并提供一个文件流以从偏移量开始的 ZIP 存档中读取。)

如果您还没有用头撞墙,那么您很快就会。 :-)

关于ios - 大数据后台上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45011360/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4