我正在尝试通过 HTTP 请求从 Web 服务器下载文件 [> 40MB]。为此,我使用了苹果提供的 SimpleURLConnection 示例。在该示例中,他们只下载图像文件,因此我修改了代码以下载 pdf 文件并将其存储在应用程序的文档目录中。下载小文件效果很好,但如果我尝试下载大文件 [>40Mb],它只能下载 6.4MB 的数据。请帮我解决这个问题,
谢谢你,
FYI:
用下载的数据写入文件的代码
- (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)data
// A delegate method called by the NSURLConnection as data arrives. We just
// write the data to the file.
{
#pragma unused(theConnection)
NSInteger dataLength;
const uint8_t * dataBytes;
NSInteger bytesWritten;
NSInteger bytesWrittenSoFar;
assert(theConnection == self.connection);
dataLength = [data length];
dataBytes = [data bytes];
bytesWrittenSoFar = 0;
do {
bytesWritten = [self.fileStream write:&dataBytes[bytesWrittenSoFar] maxLength:dataLength - bytesWrittenSoFar];
assert(bytesWritten != 0);
if (bytesWritten == -1) {
[self _stopReceiveWithStatus:@"File write error"];
break;
} else {
bytesWrittenSoFar += bytesWritten;
}
} while (bytesWrittenSoFar != dataLength);
}
不要重新发明轮子!
ASIHTTP 可以满足您的需求,看那边。有一个特定的选项可以直接下载到文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)