openFile method

  1. @override
Future<XFile?> openFile({
  1. List<XTypeGroup>? acceptedTypeGroups,
  2. String? initialDirectory,
  3. String? confirmButtonText,
})

Opens a file dialog for loading files and returns a file path.

Returns null if the user cancels the operation.

Implementation

@override
Future<XFile?> openFile({
  List<XTypeGroup>? acceptedTypeGroups,
  String? initialDirectory,
  String? confirmButtonText,
}) async {
  final List<Map<String, Object>> serializedTypeGroups =
      _serializeTypeGroups(acceptedTypeGroups);
  final List<String>? path = await _channel.invokeListMethod<String>(
    _openFileMethod,
    <String, dynamic>{
      if (serializedTypeGroups.isNotEmpty)
        _acceptedTypeGroupsKey: serializedTypeGroups,
      'initialDirectory': initialDirectory,
      _confirmButtonTextKey: confirmButtonText,
      _multipleKey: false,
    },
  );
  return path == null ? null : XFile(path.first);
}