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