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();
我正在尝试为某些 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();