2

我正在尝试将数据从互联网下载到 iOS 中的 NSData。

当我从互联网下载数据时,我看不到从服务器下载了多少百分比。

我没有使用 UIWebView。

.mp3使用 NSData 从 Internet下载声音 ( )。

无论如何我可以知道从互联网下载了多少数据吗?

提前致谢。

4

2 回答 2

5

脚步:

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.
}

希望这可以帮助。

干杯!

于 2012-07-18T13:44:09.557 回答
0

我建议看看这个:ASIHTTPRequest

您可以使用它和其他好东西轻松跟踪上传和下载过程。

塞巴斯蒂安

于 2012-07-18T12:38:42.770 回答