如何使用Google Drive API上传文件?

时间:2018-12-31 15:39:59

标签: android google-drive-android-api

我正在尝试使用Android上的Google云端硬盘api上传文件

https://github.com/googlesamples/google-services/tree/master/android/signin/app/src/main/java/com/google/samples/quickstart/signin

我在上面的链接中注册了SignInActivityWithDrive.java。

但是没有上传文件,下载文件的示例

我想知道如何上传和下载文件

谢谢

1 个答案:

答案 0 :(得分:1)

您可以在文档中找到uploadingdownloading的基本示例。

上传

  

您可以通过以下任意一种方式发送上传请求:

     
      
  • 简单上传:uploadType=media。用于快速传输小文件(5 MB或更小)。要执行简单的上传,请参阅   Performing a Simple Upload
  •   
  • 分段上传:uploadType=multipart。为了快速传输小文件(5 MB或更少)和描述文件的元数据,所有   一个请求。要执行分段上传,请参阅   Performing a Multipart Upload
  •   
  • 可恢复的上传:uploadType=resumable。对于更可靠的传输,尤其是大文件传输。断点续传   对于大多数应用程序是一个不错的选择,因为它们也适用于   小文件,每次上传需要一个额外的HTTP请求。   要执行可恢复的上传,请参考Performing a Resumable Upload
  •   

以下示例显示了如何使用客户端库上传图像:

File fileMetadata = new File();
fileMetadata.setName("photo.jpg");
java.io.File filePath = new java.io.File("files/photo.jpg");
FileContent mediaContent = new FileContent("image/jpeg", filePath);
File file = driveService.files().create(fileMetadata, mediaContent)
    .setFields("id")
    .execute();
System.out.println("File ID: " + file.getId());

下载

  

取决于您要执行的下载类型-文件,   Google文档或内容链接-您将使用以下之一   网址:

     

基本下载的示例是:

String fileId = "0BwwA4oUTeiV1UVNwOHItT0xfa2M";
OutputStream outputStream = new ByteArrayOutputStream();
driveService.files().get(fileId)
    .executeMediaAndDownloadTo(outputStream);