I'm choosing a file this way:

  Future<String> getFile() {
    final completer = new Completer<String>();
    final InputElement input = document.createElement('input');
    input
      ..type = 'file'
      ..accept = 'image/*';
    input.onChange.listen((e) async {
      final List<File> files = input.files;
      final reader = new FileReader();
      reader.readAsDataUrl(files[0]);
      reader.onError.listen((error) => completer.completeError(error));
      await reader.onLoad.first;
      completer.complete(reader.result as String);
    });
    input.click();
    return completer.future;
  }

I would typically display the file using the widget returned by Image.file(...) but this accepts a dart:io File, not a dart:html one. What's the best way to display dart:html in Flutter web?

As a bonus question, are there any known browser limitations? I'm worried this solution will only work on Chrome.