pickFile static method

Future<File?> pickFile(
  1. BuildContext context
)

Pick arbitrary file (docs/images/videos) via FilePicker.

Implementation

static Future<File?> pickFile(BuildContext context) async {
  if (!await requestStoragePermission(context)) return null;
  try {
    final result = await FilePicker.pickFiles(
      type: FileType.custom,
      allowedExtensions: [
        'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx',
        'jpg', 'jpeg', 'png', 'gif', 'bmp',
        'mp4', 'avi', 'mkv', 'mov', 'wmv', 'flv',
      ],
    );
    if (result.isNotEmpty) {
      final filePath = result.first.path;
      if (filePath != null) return File(filePath);
    }
    return null;
  } catch (e) {
    return null;
  }
}