我正在用这个code https://developers.google.com/drive/quickstart-android
将图像从我的 Android 应用程序上传到用户的 Google 云端硬盘帐户。
但是如何修改代码以将图像上传到名为“myFolder”的文件夹?
意味着该文件夹存在,如果不存在 - 创建这样的文件夹,然后将图像上传到那里。
要将文件上传到特定文件夹,您需要做的是将文件夹的 id 添加到文件父级(ref Docs https://developers.google.com/drive/v2/reference/files/insert for file.insert
).
所以你需要做的全部事情是:
- 找到驱动器中的文件夹
- 创建插入请求
- 将父 ID 添加到文件插入中
- 执行插入请求
Code
找到文件夹
在这里您可以选择两种方式:循环所有文件夹或搜索它。
按名称搜索文件夹会更快且资源更少;这样做很简单:
//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];
}
有关可能性的更多信息搜索参数 https://developers.google.com/drive/search-parameters.
创建插入请求如示例中所示
File file = service.files().insert(body, mediaContent);
在执行之前我们需要设置父级
file.setParents(Arrays.asList(new ParentReference().setId(folder.getFolderId())));
最后执行请求
文件.execute();
我还没有测试过代码,所以可能会有一些拼写错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)