如何在iOS中检查从internet下载数据的百分比?
我正在尝试将数据从internet下载到iOS中的NSData 当我从互联网上下载数据时,我看不出从服务器上下载了多少百分比 我没有使用UIWebView 使用NSData从Internet下载声音(如何在iOS中检查从internet下载数据的百分比?,ios,nsdata,Ios,Nsdata,我正在尝试将数据从internet下载到iOS中的NSData 当我从互联网上下载数据时,我看不出从服务器上下载了多少百分比 我没有使用UIWebView 使用NSData从Internet下载声音(.mp3) 我能知道从网上下载了多少数据吗 提前谢谢。我建议看一下: 你可以很容易地跟踪上传和下载过程,它和其他好东西 塞巴斯蒂安的步骤: 1) 通过对.mp3 URL的请求创建NSURLConnection 2) 将self设置为此连接的代理 3) 实现NSURLConnectionDataDel
.mp3
)
我能知道从网上下载了多少数据吗
提前谢谢。我建议看一下: 你可以很容易地跟踪上传和下载过程,它和其他好东西 塞巴斯蒂安的步骤: 1) 通过对.mp3 URL的请求创建NSURLConnection 2) 将
self
设置为此连接的代理
3) 实现NSURLConnectionDataDelegate协议。(在类的接口声明旁边添加
4) 实施这些方法:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
statusCode = [httpResponse statusCode];
if ((statusCode/100) == 2)
{
contentLength = [httpResponse expectedContentLength];
if (contentLength == NSURLResponseUnknownLength)
NSLog(@"unknown content length %ld", contentLength);
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
bytesSum += [data length];
percent = (float)bytesSum / (float)contentLength;
// append the new data to the receivedData
[receivedData appendData:data]; //received data is a NSMutableData ivar.
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
//the end. Write your data ( stored in receivedData ) to a local .mp3 file.
}
希望这有帮助
干杯 您使用的下载方法是什么?实现NSURLConnectionDataDelegate。您将看到一个方法,它告诉您整个包有多少字节以及现在有多少字节。您应该将新数据附加到已下载的数据中,并计算currentDataBytes/totalBytes的百分比。谢谢,您可以用示例代码指导我吗。请。错误?你是否在课堂上声明了ivar
long bytesSum
?只是好奇,你为什么要将statusCode
除以100并检查2?为什么不检查200?@Undo-因为2xx是成功的状态代码类。最常见的,是的,你对200感兴趣,但你永远不知道。如果你问我201也可以。列表如下:即使是ASIHTTPRequest的开发人员也不建议您再使用它;