从Google云端硬盘下载只有82 kb 0f 3 MB?

时间:2013-08-08 06:37:51

标签: ios google-drive-api google-api-objc-client

您好我正在从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.)"**

3 个答案:

答案 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:显示了如何进行经过身份验证的文件下载。