web-dev-qa-db-ja.com

Flutter Webアプリケーションでテキストファイルを保存およびダウンロードする方法

私はFlutterを初めて使用し、flutter Webアプリケーションで作業しています。私の要件は、テキストファイルを作成してダウンロードすることです。以下のように。

void getData() {
    List<int> bytes = utf8.encode('this is the text file');
    print(bytes); // Need to download this with txt file.
}

誰かがこれを達成するのを手伝ってくれる?

9
Chinnu

このソリューションはFileSaver.jsライブラリを使用し、「saveAs」ダイアログを開く必要があります。

私はそれが意図したように機能することを願っています:

import 'Dart:js' as js;
import 'Dart:html' as html;

...

final text = 'this is the text file';
final bytes = utf8.encode(text);

final script = html.document.createElement('script') as html.ScriptElement;
script.src = "http://cdn.jsdelivr.net/g/filesaver.js";

html.document.body.nodes.add(script);

// calls the "saveAs" method from the FileSaver.js libray
js.context.callMethod("saveAs", [
  html.Blob([bytes]),
  "testText.txt",            //File Name (optional) defaults to "download"
  "text/plain;charset=utf-8" //File Type (optional)
]);

 // cleanup
 html.document.body.nodes.remove(script);
1
Seif Karoui