uploadMultipleFiles method

Future<void> uploadMultipleFiles(
  1. List<XFile> files,
  2. String folderId,
  3. String driveId,
  4. VoidCallback? onDone,
  5. void onError(
    1. String
    )?
)

Upload multiple files to the folder with the given folderId.

Implementation

Future<void> uploadMultipleFiles(
  List<XFile> files,
  String folderId,
  String driveId,
  VoidCallback? onDone,
  void Function(String)? onError,
) async {
  final api = await driveApi;

  for (final file in files) {
    final fileToUpload = File();
    fileToUpload.parents = [folderId];
    fileToUpload.name = file.name;
    fileToUpload.driveId = driveId;

    api.files
        .create(
          fileToUpload,
          supportsAllDrives: true,
          uploadOptions: ResumableUploadOptions(),
          uploadMedia: Media(
            file.openRead(),
            null,
          ),
        )
        .then((_) => onDone?.call())
        .catchError((error) => onError?.call(error.toString()));
  }
}