我正在了解Google Api在Android上传文件,并找到了关于它的好样本。(您可以在此处查看该示例: https://github.com/sdivakarrajesh/Uploading-Files-to-Google-drive-using-java-client-api-in-Android/blob/master/app/src/main/java/com/dev/theblueorb/usingdrivejavaapi/DriveActivity.java) 但是,它只显示如何上传文件,而不是如何选择文件并将其上传到GG驱动器。以下是在GG驱动器上上传和创建文件夹的代码:
private void uploadFile() throws IOException {
File fileMetadata = new File();;
fileMetadata.setName("Sample File");
fileMetadata.setMimeType("application/vnd.google-apps.spreadsheet");
// For mime type of specific file visit Drive Doucumentation
file2 = new java.io.File(path);
InputStream inputStream = getResources().openRawResource(R.raw.template);
try {
FileUtils.copyInputStreamToFile(inputStream,file2);
} catch (IOException e) {
e.printStackTrace();
}
FileContent mediaContent = new FileContent("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",file2);
File file = mService.files().create(fileMetadata, mediaContent)
.setFields("id")
.execute();
Log.e(this.toString(),"File Created with ID:"+ file.getId());
Toast.makeText(getApplicationContext(),
"File created:"+file.getId() , Toast.LENGTH_SHORT).show();
}
}
private void createFolderInDrive() throws IOException {
File fileMetadata = new File();
fileMetadata.setName("Sample Folder");
fileMetadata.setMimeType("application/vnd.google-apps.folder");
File file = mService.files().create(fileMetadata)
.setFields("id")
.execute();
System.out.println("Folder ID: " + file.getId());
Log.e(this.toString(),"Folder Created with ID:"+ file.getId());
Toast.makeText(getApplicationContext(),
"Folder created:"+file.getId() , Toast.LENGTH_SHORT).show();
}
任何机构都知道如何在设备上选择文件,然后将其上传到GG驱动器上的选定文件夹或样本?
答案 0 :(得分:0)
Referencing these docs用于基本文件上传,您应该能够通过在下面的这一行中将完整文件路径指定为fileName
来“在设备上选择文件”:
java.io.File fileContent = new java.io.File(filename);
。
例如,如果您在coolpic
目录中有一个名为media
的文件,则media/coolpic
可以使用filename
。我参考的下一个文档强化了这一策略。路径将取决于您可以轻松调查的根位置。
然后,查看this doc for working with folders in Google Drive。您需要找到文件夹ID并使用
在上传时设置此ID fileMetadata.setParents(Collections.singletonList(folderId));
注意您可以上传,然后分两步移动,或者使用上面的方法并在上传时设置文件夹。