gpt4 book ai didi

iphone - 跟踪 ASIFormDataRequest 响应的下载进度

转载 作者:行者123 更新时间:2023-12-03 16:21:46 28 4
gpt4 key购买 nike

我正在向网络服务器发送带有 POST 数据的请求。如果出现错误,Web 服务器将返回 JSON 响应,如果没有错误,则返回文件数据本身。

我想跟踪文件数据响应的进度。我的代码基于 ASIHttpRequest Tutorial 中的示例代码

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

[request setPostValue:someValue forKey:@"someKey"];
[request setPostValue:someOtherValue forKey:@"someOtherKey"];
[request setShowAccurateProgress:YES];
[request setDownloadProgressDelegate:aProgressView];

request.delegate = self;
[request startSynchronous];

在出现完整响应之前不会发生任何事情,在这种情况下,进度条完全填满。

我尝试了同步和异步请求。

我猜下载进度委托(delegate)不起作用,因为我本身并没有下载文件,而只是接收对请求的 HTTP 响应,对吧?监控本案进展的正确方法是什么?

提前致谢...

最佳答案

您是否在主线程中运行此代码?

如果是这样,进度不更新的原因是使用同步请求将阻塞主线程,从而阻止 UI 更新的发生。

最好的解决方法是使用异步请求 - 您提到您已经尝试过,发生了什么?

提示:

打印http响应并检查是否有Content-Length。如果不是,或者是0,那就是问题所在。

NSLog(@"Response headers %@",[request responseHeaders]);

关于iphone - 跟踪 ASIFormDataRequest 响应的下载进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3867848/

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