_progressBlock返回percent参数,对参数*100为百分比格式,然后显示到界面上,然而一执行上传,直接就返回100%,没有显示中间进度变化,不知问题出在哪,特来请教?
如果 Networking 框架使用的是 AFNetworking 1.x,可以使用 AFURLConnectionOperation 类的 - (void)setUploadProgressBlock:(void (^)(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite))block
来获取上传进度。
如果打开的方式没错的话,有可能导致这种问题的可能:
文件太小小于缓冲区大小,一个包就发送完了;
网速太快了,可能有分包发送,但是毫秒级别的时间内就发送完了,眼睛看不出界面的变化过程。
解决方式
打开方式错的话,就难说了,要看具体的代码;
有一个方法可以“解决”网速太快看不到进度的问题,修改进度值的时候,添加动画;比如进度从0%设置到50%,虽然值只改变了一次,但是界面上你可以做动画,每0.02秒钟增加1%,这样动画时长是1秒,用户就能看到一个快速增加的百分比。