Динамическое создание текстового файла для загрузки с помощью Dart

Как мы можем динамически создать текстовый файл для загрузки с помощью Dart без участия сервера?


person Richard Ambler    schedule 20.05.2017    source источник


Ответы (1)


Этот вопрос уже был задан и дан ответ для JS. Решения, очень похожие на те, что в этом потоке, применимы к Dart с очень небольшими изменениями. Например, мы могли бы создать элемент привязки с пользовательским URI данных и либо представить его пользователю, либо вызвать его метод click:

String encodedFileContents = Uri.encodeComponent("Hello World!");

new AnchorElement(href: "data:text/plain;charset=utf-8,$encodedFileContents")
  ..setAttribute("download", "file.txt")
  ..click();

См. пример DartPad, который позволяет пользователю редактировать ячейки элемента таблицы, а затем загружать содержимое ячеек в формате CSV. файл.

person Richard Ambler    schedule 20.05.2017
comment
Как это можно сделать, если вы хотите создать очень-очень большой файл? т.е. можем ли мы передать файл в потоковом режиме, а не хранить его все в памяти? - person Krolaw; 12.09.2019