pickFiles method

Future<List> pickFiles(
  1. bool multiple,
  2. List<String> mime
)

Implementation

Future<List<dynamic>> pickFiles(bool multiple, List<String> mime) {
  final completer = Completer<List<dynamic>>();
  final picker = FileUploadInputElement();
  final isSafari =
      window.navigator.userAgent.toLowerCase().contains('safari');
  if (isSafari) document.body!.append(picker);
  picker.multiple = multiple;
  if (mime.isNotEmpty) picker.accept = mime.join(',');
  picker.onChange.listen((_) {
    completer.complete(picker.files);
    if (isSafari) picker.remove();
  });
  picker.click();
  return completer.future;
}