我在下面使用此代码下载文件:
- (void)downloadFileContentWithService:(GTLServiceDrive *)service
file:(GTLDriveFile *)file
completionBlock:(void (^)(NSData *, NSError *))completionBlock {
if (file.downloadUrl != nil)
{
GTMHTTPFetcher *fetcher =
[service.fetcherService fetcherWithURLString:file.downloadUrl];
[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
if (error == nil) {
// Success.
completionBlock(data, nil);
} else {
NSLog(@"An error occurred: %@", error);
completionBlock(nil, error);
}
}];
} else {
completionBlock(nil,
[NSError errorWithDomain:NSURLErrorDomain
code:NSURLErrorBadURL
userInfo:nil]);
}
似乎一切顺利,一段时间后我从服务器检索我的文件。但文件大小约为250 MB的问题。
我的问题是,如果文件太大,应用程序会在设备上崩溃。我们是否需要制定一些限制或类似的东西。我已经下载了pdf文件。
答案 0 :(得分:0)
应用程序可能崩溃,因为它在下载到内存期间会非常快速地增加内存。您可以直接下载到磁盘以避免这种情况。您似乎可以使用NSFileHandle *downloadFileHandle;
final
属性来实现此目的。