Dart Html - 将 Blob 转换为文件

Dart Html - Convert Blob to File

我正在尝试为某些 dart:html 代码编写测试。

我有一个带有 File 参数的方法(html File,不是 io File)。

testFile(File file)

我可以用文件所需的数据(减去文件名、日期等)创建一个 Blob,但似乎无法在 dart:html 中创建文件对象,因为它在 html_dartium.dart.

中保留供内部使用
factory File._() { throw new UnsupportedError("Not supported"); }

还有其他方法可以创建 HTML 文件对象吗?

我见过提到的 FileReader,但它们的结果是字符串或 uint8list。

类似

  Blob response = _downloadRequest.response;
  final FileReader reader = new FileReader();

  reader.onLoad.listen((e) {
        _handleData(reader);
      });
  reader.readAsArrayBuffer(response);

Downloading a file using Dart GDrive api with authorized GET request

经过进一步研究,我实现了以下目标:

  List<String> file_contents = ["test\n"];
  Blob blob = new Blob(file_contents, 'text/plain', 'native');

  FileSystem _filesystem = await window.requestFileSystem(1024 * 1024, persistent: false);
  FileEntry fileEntry = await _filesystem.root.createFile('dart_test.csv');
  FileWriter fw = await fileEntry.createWriter();
  fw.write(blob);
  File file = await fileEntry.file();