gpt4 book ai didi

iphone - 在 Objective-C 中暂停/恢复下载

转载 作者:太空狗 更新时间:2023-10-30 03:20:45 25 4
gpt4 key购买 nike

好的。希望这是我最后一篇关于我用 Objective-C 编写的下载管理器的文章。除了暂停/恢复功能外,一切似乎都运行良好。我的问题是,当下载试图从中断的地方继续时,它会将接收到的数据附加到文件中,但它似乎仍然在尝试下载整个文件。这会导致文件大于原始文件应有的大小。这是我用于下载文件的代码。我做错了什么吗?

-(void)start:(unsigned int)fromByte {
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:DEFAULT_TIMEOUT];

// Define the bytes we wish to download.
NSString *range = [NSString stringWithFormat:@"bytes=%i-", fromByte];
[request setValue:range forHTTPHeaderField:@"Range"];

// Data should immediately start downloading after the connection is created.
self.urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:TRUE];

if (!self.urlConnection) {
#warning Handle error.
}
}

最佳答案

我看到您在请求中指定了 Range header 。首先要检查的是服务器是否真的接受了 Range 请求,方法是检查 connection:didReceiveResponse: 中的响应对象(应该是 NSHTTPURLResponse)中的 header :适当的内容范围。

关于iphone - 在 Objective-C 中暂停/恢复下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5170773/

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