我正在尝试将数据从互联网下载到iOS中的NSData。
当我从互联网上下载数据时,我看不到从服务器下载了多少百分比。
我没有使用UIWebView。
使用NSData从Internet下载声音(.mp3
)。
我是否可以知道从互联网上下载了多少数据?
提前致谢。
答案 0 :(得分:5)
步骤:
1)创建一个NSURLConnection,并请求.mp3的URL。
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.
}
希望这有帮助。
干杯!
答案 1 :(得分:0)