我目前在Google云端硬盘上上传了一些文件,然后为这些文件创建了共享链接。这些共享链接具有表单
https://drive.google.com/uc?export=download&confirm=wAFv&id=[may_be_file_id]
我创建了一个可以下载这些文件的应用。我使用ASIHTTPRequest开源库来下载这些文件
ASIHTTPRequest* req = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:<downloadURL>]];
req.shouldContinueWhenAppEntersBackground = YES;
req.timeOutSeconds = 60;
req.delegate = self;
req.tag = filename;
[req setDownloadDestinationPath:<a_video_path_on_Document_directory>];
ASINetworkQueue* networkQueue = [[ASINetworkQueue alloc] init];
[networkQueue addOperation:req];
[networkQueue setRequestDidFinishSelector:@selector(finishCallback:)];
[networkQueue setRequestDidFailSelector:@selector(failCallback:)];
[networkQueue setDelegate:self];
[networkQueue go];
论点&#39; downloadURL&#39;是我上面提到的每个人的共享网址。但是在“去”之后在networkQueue调用的方法中,尽管文件大小约为2Gb,但会立即调用finishCallback。我尝试使用另一个下载程序第三方开源但得到相同的结果。
网址或Google云端硬盘上的问题是否有阻止下载的问题,但是当我在Macbook上将这些网址粘贴到Safari上时,它会下载文件。
这里有什么问题?
我只是使用Google Drive API下载文件。
GTLRDriveService* service = [[GTLRDriveService alloc] init];
GTMSessionFetcher *fetcher = [service.fetcherService fetcherWithURLString:downloadURL]; //GTLServiceDrive *service;
[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
if (error == nil) {
NSLog(@"Retrieved file content");
// File Downloaded!
} else {
NSLog(@"An error occurred: %@", error);
}
}];
它会立即进入完成程序段并打印“检索到的文件内容”。
怎么可能?