【问题标题】:ProgressBar While POST API call Swift 4ProgressBar POST API 调用 Swift 4
【发布时间】:2018-09-14 07:15:07
【问题描述】:

我正在通过 POST API 调用 (AFNetworking) 在我的服务器上上传 1900 个联系人。从服务器获得响应需要一些时间。在上传过程中我想显示一个进度条来显示估计的剩余上传时间,因为我没有上传任何文件,所以我使用 json 字符串来发布参数。

请帮助我,通过 Google 搜索我找不到有关上传或下载 API 的任何帮助。

【问题讨论】:

    标签: ios swift swift4 afnetworking xcode9


    【解决方案1】:

    StackOverflow 上有多个答案已经回答了您的特定用例。例如看看这个问题:get progress from dataTaskWithURL in swift 对于您的特定用例,也已经有使用 AFNetworking 的答案:AFNetworking 3.x multipart form upload

    总而言之,您要做的是 1。计算您要上传的数据总量和 2。您已经通过URLSession 委托方法上传的数据总量。

    然后您可以将此信息绑定到您的 UI 元素,例如您的UIProgressView。确保您的上传任务是异步的,以便拥有非阻塞上传任务并能够在上传时更新您的 UI。这也意味着除了上传任务之外,刷新 UI 的代码应该在主线程上运行。如果需要,您可以通过DispatchQueue.main.async 强制执行此操作。

    【讨论】:

    • 我没有上传任何文件,我只是在参数中发布 json 联系人字符串。德伦
    • 您仍然可以使用setUploadProgressBlock:^(NSInteger bytesWritten,long long totalBytesWritten,long long totalBytesExpectedToWrite) 来跟踪发送的字节数和总字节数,就像我上面所说的那样。
    • 我可以获取上传进度,我想估计上传参数后从服务器获得响应的时间。
    猜你喜欢
    • 2017-07-10
    • 2018-11-10
    • 2018-09-26
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2018-07-29
    • 1970-01-01
    相关资源
    最近更新 更多