File upload 使用swift 3将文件上载到google drive时显示进度条

File upload 使用swift 3将文件上载到google drive时显示进度条,file-upload,swift3,request,google-drive-api,File Upload,Swift3,Request,Google Drive Api,我目前正在swift 3中为一个学校项目开发一个应用程序,该项目需要将文件上传到google drive。 上传目前正在工作,但我需要用上传栏通知用户。 这里是当前代码 let folderId: String = folders[indexPath.row].folderId let metadata = GTLRDrive_File.init() metadata.name = "Ruin.mp3" // metadata.mimeType = "application

我目前正在swift 3中为一个学校项目开发一个应用程序,该项目需要将文件上传到google drive。 上传目前正在工作,但我需要用上传栏通知用户。 这里是当前代码

let folderId: String = folders[indexPath.row].folderId
    let metadata = GTLRDrive_File.init()
    metadata.name = "Ruin.mp3"
   // metadata.mimeType = "application/vnd.google-apps.photo"
    metadata.parents = [folderId]

    guard let filePath = Bundle.main.path(forResource: "Ruin", ofType: "mp3") else {
        return
    }
    guard let fileData = FileManager.default.contents(atPath: filePath) else {
        return
    }


    let uploadParameters = GTLRUploadParameters(data: fileData , mimeType: "audio/mpeg")
    uploadParameters.shouldUploadWithSingleRequest = true
    let query = GTLRDriveQuery_FilesCreate.query(withObject: metadata, uploadParameters: uploadParameters)
    query.fields = "id"
    self.service.executeQuery(query, completionHandler: {(ticket:GTLRServiceTicket, object:Any?, error:Error?) in
        if error == nil {
            //  print("File ID \(files.identifier)")

        }
        else {
            print("An error occurred: \(error)")
        }
    })

Thanx提前

即使是用objective-c编写的,您也可以参考此内容。您可以使用upload block回调,然后将其分配给从
executeQuery
方法获得的
GTLServiceTicket
对象。@abielita感谢您的回答,我尝试了许多在objective c中实现的解决方案,但在GTLRServiceTicket中没有称为uploadProgressBlock的方法