我通过POST API调用(AFNetworking)在我的服务器上上传了1900个联系人。从服务器获取响应需要一些时间。在上传过程中,我想显示一个进度条以显示估计的剩余上传时间,因为我没有上传任何文件,我使用json字符串来发布参数。
请帮助我,通过谷歌搜索我找不到有关上传或下载API的任何帮助。
StackOverflow上有多个答案已经回答了您的具体用例。例如,看看这个问题:get progress from dataTaskWithURL in swift对于您的特定用例,使用AFNetworking也已经有了答案:AFNetworking 3.x multipart form upload
总而言之,您要做的是1.计算您要上传的数据总量以及2.您已通过URLSession
委托方法上传的数据总量。
然后,您可以将此信息绑定到UI元素,例如UIProgressView
。确保您的上传任务是异步的,以便具有非阻止上传任务,并且能够在上传发生时更新您的UI。这也意味着除了上传任务之外,刷新UI的代码应该在主线程上运行。如果需要,您可以通过DispatchQueue.main.async
强制执行此操作。