获取适用于iOS的Google云端硬盘的文件大小

时间:2016-07-28 07:22:51

标签: ios objective-c xcode google-drive-api

我正在开发Google Drive API,我做了我想做的每一件事。问题只是在查询下载文件之前获取文件大小,下载后我可以获得大小但我需要在下载之前获取文件大小来限制文件。 以下是我在View Did Load中所做的事。

id(pk)      user_id(int)    came_to_site(date_time)     purchases(int)
1           1               27-8-2016:10:12:23              0
2           2               27-8-2016:10:20:23              0
3           1               28-8-2016:10:12:23              1
4           3               29-8-2016:10:12:23              0
5           4               29-8-2016:11:40:23              0
6           4               30-8-2016:10:12:23              0
7           4               30-8-2016:12:12:23              1
8           1               30-8-2016:12:30:23              1

GTLQueryDrive *query =
[GTLQueryDrive queryForFilesList];

query.q = @"mimeType = 'application/pdf'";
query.pageSize = 1000;
query.fields = @"nextPageToken, files(id, name)";
[self.service executeQuery:query
                  delegate:self
         didFinishSelector:@selector(displayResultWithTicket:finishedWithObject:error:)];

(void)displayResultWithTicket:(GTLServiceTicket *)ticket finishedWithObject:(GTLDriveFileList *)response error:(NSError *)error { if (error == nil) { NSMutableString *filesString = [[NSMutableString alloc] init]; if (response.files.count > 0) { [filesString appendString:@"Files:\n"]; for (GTLDriveFile *file in response.files) { [filesString appendFormat:@"%@ (%@)\n", file.name, file.identifier]; NSLog(@"%@",file.size); [filesList addObject:file]; } self.output.hidden = YES; [self.filesListTableView reloadData]; } else { [filesString appendString:@"No files found."]; } 返回nil,没有响应。 任何人都可以指导我如何获取文件大小? 感谢

2 个答案:

答案 0 :(得分:0)

我在某处读过,你可能只得到文件夹的大小,而不是它的文件。 Google Drive API不支持获取文件夹内容的大小(

)。

或者您必须使用其他框架,例如Shinobi team frameworks

答案 1 :(得分:0)

对于内容存储在云端硬盘中的文件,您可以使用fileSize。但请注意,未按Google Drive API - Files中的说明填充Google文档或快捷方式文件。

此SO帖子中提供的解决方案 - Retrieve a “Google doc” created file size with the google drive api for ios也可能有所帮助。