用于上传到谷歌云端硬盘的文件选择器



我正在学习用于在Android上上传文件的Google Api,并且确实找到了关于它的好样本。您可以在此处查看该示例: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驱动器上的选定文件夹或示例?

参考这些文档进行基本文件上传,您应该能够通过指定完整的文件路径来"选择设备上的文件",如下行fileName

java.io.File fileContent = new java.io.File(filename); .

例如,如果在目录 media 中有一个名为 coolpic 的文件,则可以对filename使用 media/coolpic 。我引用的下一个文档强化了这一策略。路径将取决于根位置,这是您可以轻松调查的。

然后,查看此文档以处理Google云端硬盘中的文件夹。您需要找到文件夹 ID 并在上传时使用进行设置

fileMetadata.setParents(Collections.singletonList(folderId));

请注意,您可以上传,

然后分两步移动,或者使用我上面的方法并在上传时设置文件夹。

相关内容

最新更新