我正在使用运行良好的 Image Picker web。我可以在 中显示图像Image.memory(),但此图像的格式为 Uintlist8。为了保存在存储需要格式File,我的问题是如何在Firebase Storage 中保存图像。
网络图片选择器:
class _SecondPageState extends State<SecondPage> {
final _formkey = GlobalKey<FormState>();
Uint8List _image;
getImage() async {
Uint8List tempImg = await ImagePickerWeb.getImage(asUint8List: true);
if (tempImg != null) {
setState(() {
_image = tempImg;
});
}
}
Run Code Online (Sandbox Code Playgroud) 在应用程序中我使用的是 Cubit。ItemData 从 firestore 获取。一切正常,但在列表中添加项目并更新 firestore 中的值(名称)后,列表中仍然是旧值。怎么解决呢?
class TestPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
BlocBuilder<ItemCubit, ItemState>(
cubit: ItemCubit(DataBase())..getItemData(item),
builder: (context, state) {
if (state is ItemData) {
return Column(
children: [
Text(state.item.name),
RaisedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TestPage1(
item: state.item,
)));
},
child: Text('showPage'),
),
RaisedButton(
onPressed: () {
context.bloc<TestCubit>().add(item);
},
)
],
);
}
return Container(
child: Text('error'),
);
},
)
],
),
);
} …Run Code Online (Sandbox Code Playgroud)