Ще один спосіб зробити це через популярну бібліотеку JS під назвою FileSaver
Спочатку оновіть свій ProjectFolder/web/index.html
файл, щоб він включав бібліотеку, і визначте webSaveAs
функцію так:
...
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js">
</script>
<script>
function webSaveAs(blob, name) {
saveAs(blob, name);
}
</script>
<script src="main.dart.js" type="application/javascript"></script>
...
Потім ви можете викликати цю функцію з коду Дарт так:
import 'dart:js' as js;
import 'dart:html' as html;
...
js.context.callMethod("webSaveAs", [html.Blob([bytes], "test.txt"])