如何将图像从我的Android应用程序上传到谷歌硬盘上的特定文件夹

时间:2014-01-03 23:25:07

标签: java android google-drive-api

我正在使用此code

将图片从我的Android应用上传到用户的google云端硬盘帐户。

但是如何修改代码以将图像上传到名为“myFolder”的文件夹?

对于该文件夹是否存在,如果不存在 - 创建此类文件夹,然后将图像上传到那里。

1 个答案:

答案 0 :(得分:0)

要将文件上传到特定文件夹,您需要做的是将文件夹的ID添加到文件父级(file.insert的{​​{1}})。

所以你需要做的全部事情是:

  1. 在驱动器中找到该文件夹​​
  2. 创建插入请求
  3. 将父ID添加到文件insert
  4. 执行插入请求
  5. <强>代码

    找到文件夹

    在这里,您可以选择2种方式:循环所有文件夹或搜索它。

    更快,更少资源是按名称搜索文件夹;这样做很简单:

    //Search by name and type folder
    String qStr = "mimeType = 'application/vnd.google-apps.folder' and title = 'myFolder'";
    
    //Get the list of Folders
    FileList fList=service.files().list().setQ(qStr).execute();
    
    //Check that the result is one folder
    File folder;
    
    if (fList.getItems().lenght==0){
        folder=fList.getItems()[0];
    
    }
    

    有关可能ref Docs的更多信息。

    创建插入请求,如示例

    File file = service.files().insert(body, mediaContent);
    

    在执行之前我们需要设置父级     file.setParents(Arrays.asList(new ParentReference()。setId(folder.getFolderId())));

    最后执行请求     file.execute();

    我没有测试过代码,因此可能会出现一些拼写错误。