我正在尝试创建一个.txt文件,其中包含TextFieldController中的信息。
class FileUtils {
static Future<String> get getFilePath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
static Future<File> get getFile async {
final path = await getFilePath;
return File('$path/myfile.txt');
}
static Future<File> saveToFile(String data) async {
final file = await getFile;
final neww = file.writeAsString(data);
return file.writeAsString(data);
}
static Future<String> readFromFile() async {
try {
final file = await getFile;
String fileContents = await file.readAsString();
return fileContents;
} catch (e) {
return "";
}
}
}
因此,在上面的代码中,我试图创建一个将存储在Firebase Storage中的.txt文件。在下面的代码中,用户将输入信息,然后使用FileUtils的saveToFile函数将该信息保存到文本文件中。
_dialog(BuildContext context) async {
await Future.delayed(Duration(seconds: 1));
return showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text('Please write something'),
content: TextField(
controller: _textFieldController,
decoration: InputDecoration(hintText: ""),
maxLines: 5,
maxLength: 250,
),
actions: <Widget>[
new FlatButton(
child: new Text('Cancel'),
onPressed: () {
Navigator.of(context).pop();
},
),
new FlatButton(
child: new Text('Submit'),
onPressed: () {
FileUtils.saveToFile(_textFieldController.text);
Navigator.of(context).pop();
},
)
],
);
});
}
我尝试使用以下方式存储文本文件:
final test = FileUtils.getFile;
FirebaseStorage.instance.ref().child('test').putFile(test).onComplete;
但是我失败了。因此,我需要将.txt文件存储到Firebase的帮助。我很困惑,所以我希望我能解释我的问题。