【问题标题】:Dart Html - Convert Blob to FileDart Html - 将 Blob 转换为文件
【发布时间】:2016-05-11 21:21:15
【问题描述】:

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

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

testFile(File file)

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

factory File._() { throw new UnsupportedError("Not supported"); }

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

我见过提到的 FileReaders,但结果要么是 String 要么是 uint8list。

【问题讨论】:

    标签: dart dart-html


    【解决方案1】:

    类似

      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

    【讨论】:

    • 虽然这可能也有效,但经过进一步研究,我的答案实现了我想要的。
    【解决方案2】:

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

      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();
    

    【讨论】:

      猜你喜欢
      • 2020-09-12
      • 2022-01-17
      • 2015-02-17
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      相关资源
      最近更新 更多