在Google Drive IOS SDK上取消上传文件
-
21-12-2019 - |
题
我正在研究使用谷歌驱动器来操纵文件的iOS应用程序,所以我正在阅读和下载,上传文件每件事都很好,但我无法找到如何取消上传文件,因为某些时候用户需要取消下载或上传,但没有关于此文件的文档。谢谢
解决方案
我找到了如何取消上传刚刚做生意古代码,但我如何从另一种方法访问此票证,她是我的上传方法
- (void)insertFileWithService:(GTLServiceDrive *)service
title:(NSString *)title
description:(NSString *)description
parentId:(NSString *)parentId
mimeType:(NSString *)mimeType
data:(NSData *)data
fileIndex:(NSIndexPath *)fileIndex
completionBlock:(void (^)(GTLDriveFile *, NSError *))completionBlock{
GTLDriveFile *file = [GTLDriveFile object];
file.title = title;
file.descriptionProperty = description;
file.mimeType = mimeType;
if (parentId != nil) {
GTLDriveParentReference *parentRef = [GTLDriveParentReference object];
parentRef.identifier = parentId; // identifier property of the folder
file.parents = @[ parentRef ];
//file.parents = [NSArray arrayWithObjects: parentId, nil];
}
GTLUploadParameters *uploadParameters =
[GTLUploadParameters uploadParametersWithData:data MIMEType:mimeType];
GTLQueryDrive *query =
[GTLQueryDrive queryForFilesInsertWithObject:file
uploadParameters:uploadParameters];
GTLServiceTicket *queryTicket =
[service executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFile *insertedFile, NSError *error) {
if (error == nil) {
completionBlock(insertedFile, nil);
} else {
//NSLog(@"An error occurred: %@", error);
completionBlock(nil, error);
}
}];
queryTicket.uploadProgressBlock = ^(GTLServiceTicket *ticket,
unsigned long long numberOfBytesRead,
unsigned long long dataLength) {
float myprogress = (1.0 / dataLength * numberOfBytesRead);
NSLog(@"progress %@ => %f",title,myprogress);
self.fileManagementViewController.fileTransferProgressTableViewController.progress = myprogress;
};
}
.
感谢
不隶属于 StackOverflow