gpt4 book ai didi

swift - 在自定义 header 中快速获取下载文件的进度和文件大小

转载 作者:行者123 更新时间:2023-11-28 05:40:42 26 4
gpt4 key购买 nike

我有一个端点,可以让我在我的 swift 应用程序中下载一个 zip 文件。但问题是端点在自定义 header 中向我发送文件大小而不是内容长度,因为它使用传输编码:分块。我正在使用 alamofire 来管理请求,但库默认使用内容长度 header 来跟踪进度。是否有一种解决方案可以在 alamofire 中使用自定义 header 跟踪进度,如果没有,如何使用自定义 header 跟踪进度并将其显示在进度 View 中。谢谢你们的帮助! enter image description here

最佳答案

没有简单的方法可以做到这一点,也没有办法下载到文件中。对于数据传输,您需要做的是:

  1. 实现 urlSession(_:dataTask:didReceive:completionHandler:) 委托(delegate)方法来监听您的请求收到的初始 URLResponse
  2. 存储响应后,在 urlSession(_:dataTask:didReceive:) 方法中跟踪您在下载时收到的 Data,更新任何进度下载的总数据与 Len header 中的值。

这将需要对 Alamofire 本身进行修改,虽然可能,但会涉及到。如果可能的话,查看端点是否可以返回 Content-Length header 会更好。

关于swift - 在自定义 header 中快速获取下载文件的进度和文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56853642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com