簡體   English   中英

驅動器REST API V3 Java包裝器-進度上傳

[英]Drive REST API V3 Java Wrapper - upload with progress

我正在嘗試使用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);

以下是您可以使用的其他參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM