如何在Dart中上传至Google Drive GoogleAPIs v3中的特定文件夹?

问题描述 投票:0回答:1

我想上传图片到一个特定的文件夹。

这是我现在使用的功能上传我的文件,它上传他们的主文件夹。

import 'package:googleapis/drive/v3.dart' as driveV3;

Future upload(File file) async {
    var client = await getHttpClient();
    var drive = driveV3.DriveApi(client);
    var response = await drive.files.create(
        driveV3.File()..name = p.basename(file.absolute.path),
        uploadMedia: driveV3.Media(file.openRead(), file.lengthSync())
        );
} 

我想要的是一种方法,上传ALWAYS到一个文件夹,可以在第一次创建或类似的东西,我需要修改上面的功能,所以我可以指定一个文件夹名称 EX: MyFolder 并一直上传到它?

flutter dart google-drive-api
1个回答
0
投票

你要找的是 parentsFile 阶层

此属性需要一个String的列表。这些字符串是你要上传文件的文件夹。看起来,一个文件可以上传到多个文件夹中。

所以你的代码应该是这样的。

Future upload(File file) async {
  var client = await getHttpClient();
  var drive = driveV3.DriveApi(client);
  file.parents = ["folder_id"];
  var response = await drive.files.create(
      driveV3.File()..name = p.basename(file.absolute.path),
      uploadMedia: driveV3.Media(file.openRead(), file.lengthSync())
  );
}

在... 文件 我引用。

包含该文件的父文件夹的ID。如果没有在创建请求中指定,文件将直接放在用户的 "我的驱动器 "文件夹中。如果没有作为复制请求的一部分指定,文件将继承源文件的任何可发现的父文件夹。 更新请求必须使用addParents和removeParents参数来修改父母列表。

© www.soinside.com 2019 - 2024. All rights reserved.