我有一个端点,可以在我的swift应用程序中下载一个zip文件。但是问题在于端点向我发送了一个自定义标头中的文件大小,而不是内容长度,因为它使用了Transfer-Encoding:分块。我正在使用alamofire来管理请求,但是默认情况下,库使用content-length标头来跟踪进度。 是否有解决方案可使用alamofire中的自定义标题跟踪进度,如果没有,如何使用自定义标题跟踪进度并在进度视图中显示进度。 谢谢你们的帮助!
答案 0 :(得分:1)
没有简单的方法来执行此操作,也根本没有办法将其下载到文件中。对于数据传输,您需要做的是:
urlSession(_:dataTask:didReceive:completionHandler:)
委托方法以侦听您的请求收到的初始URLResponse
。urlSession(_:dataTask:didReceive:)
方法中跟踪下载时收到的Data
,并使用下载的总数据与{{1 }}标头。这需要对Alamofire本身进行修改,但可能会涉及到。如果可能的话,查看端点是否可以返回Len
标头会更好。