java - Drive REST API V3 Java Wrapper - 上传进度
问题描述
我正在尝试使用 V3 API 将新文件上传到驱动器帐户并获取上传进度。我当前的(工作)代码如下:
val fileMetadata = File()
fileMetadata.name = newItemName
fileMetadata.parents = mutableListOf(destFolder.remoteId)
val osFile = java.io.File(filePath)
val mediaContent = FileContent(getMimeType(filePath), osFile)
val file = googleDriveService.files().create(fileMetadata, mediaContent)
.setFields("*")
.execute()
是否可以在当前解决方案中添加某种进度侦听器,或者我需要使用其他服务(如 MediaHttpUploader)?
解决方案
您可以参考使用该类的本文档。CustomProgressListener
class CustomProgressListener implements MediaHttpDownloaderProgressListener {
public void progressChanged(MediaHttpDownloader downloader) {
switch (downloader.getDownloadState()) {
case MEDIA_IN_PROGRESS:
System.out.println(downloader.getProgress());
break;
case MEDIA_COMPLETE:
System.out.println("Download is complete!");
}
}
}
OutputStream out = new FileOutputStream("/tmp/driveFile.jpg");
DriveFiles.Get request = drive.files().get(fileId);
request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());
request.executeMediaAndDownloadTo(out);
以下是您可以使用的其他参考资料:
推荐阅读
- c++ - C ++ 11类中放置枚举类的重载运算符
- keras - 将输入与 keras 中的常量向量连接起来。如何定义batch_size
- azure-devops - 将 PFX 添加到 VSTS 上的强名称 CSP
- office-js - 在 Windows Server 上加载 Word 加载项
- docker - 詹金斯:从奴隶推送到 ECR
- node.js - 如何下载部署在 Google Cloud 上的 Node.js 项目
- c# - How to restore a SQL Server backup in .NET Core
- javascript - 如何使用 JavaScript 按块读取任何本地文件?
- ansible - 使用在 1.7 中运行良好的 with_subelements 时出现 Ansible v2.2 错误
- javascript - 如何在另一个页面中创建表单提交链接并获取链接页面上提交的文本内容?