我有两种方法,一种用于创建文件并将其上传到Google驱动器的根文件夹,第二种仅用于创建Google驱动器的文件夹。
是否有可能以某种方式将这两者连接起来并将文件上传到该新创建的文件夹?
我已阅读过Google文档,但无法弄清楚该文件可以转到哪个文件夹的位置
要创建文件:
private Task<Void> createFileIntentSender(DriveContents driveContents, File file) throws FileNotFoundException {
Log.i(TAG, "New contents created.");
// Get an output stream for the contents.
OutputStream outputStream = driveContents.getOutputStream();
byte[] bytesArray = new byte[(int) file.length()];
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
fis.read(bytesArray); //read file into bytes[]
fis.close();
outputStream.write(bytesArray);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle(windowName.getText().toString())
.setMimeType("application/vnd.ms-excel")
.setStarred(true)
.build();
// Set up options to configure and display the create file activity.
CreateFileActivityOptions createFileActivityOptions =
new CreateFileActivityOptions.Builder()
.setInitialMetadata(changeSet)
.setInitialDriveContents(driveContents)
.build();
return mDriveClient
.newCreateFileActivityIntentSender(createFileActivityOptions)
.continueWith(
new Continuation<IntentSender, Void>() {
@Override
public Void then(@NonNull Task<IntentSender> task) throws Exception {
startIntentSenderForResult(task.getResult(), REQUEST_CODE_CREATOR, null, 0, 0, 0);
return null;
}
});
}
创建文件夹:
private void createFolder() {
mDriveResourceClient.getRootFolder()
.continueWithTask(task -> {
DriveFolder parentFolder = task.getResult();
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle("Folder1")
.setMimeType(DriveFolder.MIME_TYPE)
.setStarred(true)
.build();
return mDriveResourceClient.createFolder(parentFolder, changeSet);
})
.addOnFailureListener(this, e -> {
Log.e(TAG, "Unable to create file", e);
finish();
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句