Firebase 在颤振中执行热加载之前无法加载资源
当我从文件选取器上载文件时,数据应直接插入到cloud firestore集合中,但我无法上载,直到我在颤振(ctrl+s)中执行热加载,然后记录才能成功上载到firebase集合中。如何通过单击“控制保存”执行热加载,将数据直接上载到firebase而无需再次重新加载 我在控制台中遇到的错误: E/flatter(10276):[错误:flatter/lib/ui/ui\u dart\u state.cc(177)]未处理的异常:无法加载资产:/data/user/0/com.example.simple\u flatter\u数据库/cache/file\u picker/sampleData-Copy.xlsxFirebase 在颤振中执行热加载之前无法加载资源,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,当我从文件选取器上载文件时,数据应直接插入到cloud firestore集合中,但我无法上载,直到我在颤振(ctrl+s)中执行热加载,然后记录才能成功上载到firebase集合中。如何通过单击“控制保存”执行热加载,将数据直接上载到firebase而无需再次重新加载 我在控制台中遇到的错误: E/flatter(10276):[错误:flatter/lib/ui/ui\u dart\u state.cc(177)]未处理的异常:无法加载资产:/data/user/0/com.example.
final databaseReference = Firestore.instance;
// This function is triggered when the floating button is pressed
Future _loadCSV() async {
String filePath = await FilePicker.getFilePath();
ByteData data = await rootBundle.load(filePath);
var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
var excel = Excel.decodeBytes(bytes);
for (var table in excel.tables.keys) {
for (var row in excel.tables[table].rows) {
await databaseReference.collection("vehicles").add({
'Car_Make': row[3],
'Company': row[4],
'Holder_Type': row[2],
'Holder_Name': row[1],
'Vehicle_No': row[0],
});
}
return Row();
}
}
您正在加载文件,而不是资源。使用
文件
类加载设备文件系统中的文件
final file=文件(filePath);
final content=file.readAsStringSync();
如何加载和读取文件?除了这个rootBundle.root之外,还有其他方法吗?因为当我控制save时,它可以工作。我更新了答案。E/flatter(14458):[ERROR:flatter/lib/ui/ui\u dart\u state.cc(177)]未处理的异常:NoSuchMethodError:getter“length”被调用为null。E/flatter(14458):接收器:空E/flatter(14458):尝试调用:纵向对文件执行什么操作?将csv文件上载到firebase cloud firestore集合