您好我正在从Google云端硬盘下载3 MB的媒体文件。 82kb后文件完成下载..它没有完全下载。我已经检查过小文件..但是对于任何大小的文件,下载大小保持不变..即82 kb ..
我正在尝试GTMHTTPFetcher下载..但是收到错误
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
GTLDriveFile *file;
NSString *downloadedString = file.downloadUrl; // file is GTLDriveFile
NSLog(@"%@",file.downloadUrl);
GTMHTTPFetcher *fetcher = [self.driveService.fetcherService fetcherWithURLString:downloadedString];
[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error)
{
if (error == nil)
{
if(data != nil)
{
GTLDriveFile *file = [driveFiles objectAtIndex:indexPath.row];
filename=file.title;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
filename = [[paths objectAtIndex:0]stringByAppendingPathComponent:[NSString stringWithFormat:@"%@",fileNames]];
NSData* Data = [[NSData alloc]initWithContentsOfURL:targetURL];
[Data writeToFile:filename atomically:YES];
NSLog(@"my path:%@",filename);
}
}
else
{
NSLog(@"Error - %@", error.description);
}
}];
// from the above code error is **Domain=com.google.GTMHTTPFetcher Code=-1 "The operation couldn’t be completed. (com.google.GTMHTTPFetcher error -1.)"**
答案 0 :(得分:2)
我没有解决方案,但我有一个诊断,下一步。如果多个文件(一些很长,一些很短)正在获取82KB,那么请仔细检查您是否正在获取正确的URL。
看起来,当用户选择文件名时,您没有获取正确的URL,而是返回82KB的数据,如目录列表。
您可以通过运行https://developers.google.com/drive/examples/objectivec中的DrEdit示例应用程序并打开GMHTTPFetcher日志记录来检查(GMHTTPFetcher是NSURLConnection的包装器)http://code.google.com/p/gtm-http-fetcher/wiki/GTMHTTPFetcherIntroduction#HTTP_Logging
答案 1 :(得分:1)
我认为你给出时间间隔,这就是为什么它在修复时完成加载。
答案 2 :(得分:0)
[DriveSample示例应用] [1]中的方法downloadFormatSelected:
显示了如何进行经过身份验证的文件下载。