Commit b830911beb645cc78d2f9ba9916cf44af0db9c2c
1 parent
795acc7e
增加头像上传的地方,待测试
Showing
2 changed files
with
26 additions
and
9 deletions
lib/pages/user/modify/modify_user_avatar_page.dart
| @@ -39,7 +39,7 @@ class _ModifyUserAvatarPage extends StatelessWidget { | @@ -39,7 +39,7 @@ class _ModifyUserAvatarPage extends StatelessWidget { | ||
| 39 | showToast('修改成功'); | 39 | showToast('修改成功'); |
| 40 | } | 40 | } |
| 41 | }), | 41 | }), |
| 42 | - BlocListener( | 42 | + BlocListener<UserAvatarBloc,UserAvatarState>( |
| 43 | listener: (context,state){ | 43 | listener: (context,state){ |
| 44 | if (state is ChangeImageState) { | 44 | if (state is ChangeImageState) { |
| 45 | showToast('上传图片'); | 45 | showToast('上传图片'); |
| @@ -202,4 +202,4 @@ class _ModifyUserAvatarPage extends StatelessWidget { | @@ -202,4 +202,4 @@ class _ModifyUserAvatarPage extends StatelessWidget { | ||
| 202 | ], | 202 | ], |
| 203 | ); | 203 | ); |
| 204 | }); | 204 | }); |
| 205 | -} | ||
| 206 | \ No newline at end of file | 205 | \ No newline at end of file |
| 206 | +} |
lib/pages/user/modify/user_avatar_bloc/user_avatar_bloc.dart
| @@ -32,13 +32,18 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { | @@ -32,13 +32,18 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { | ||
| 32 | on<GetImageFromCameraEvent>(_getImageFromCamera); | 32 | on<GetImageFromCameraEvent>(_getImageFromCamera); |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | + Future<void> _uploadAvatar(String imagePath) async { | ||
| 36 | + // todo 加个loading UI | ||
| 37 | + String avatarUrl = await AliyunOssUtil.uploadFile(imagePath); | ||
| 38 | + // 上传服务器 | ||
| 39 | + await UserDao.updateUserInfoField(avatarUrl: avatarUrl); | ||
| 40 | + _imageUrl = avatarUrl; | ||
| 41 | + } | ||
| 42 | + | ||
| 35 | void _changeImage(ChangeImageEvent event, Emitter<UserAvatarState> emitter) async { | 43 | void _changeImage(ChangeImageEvent event, Emitter<UserAvatarState> emitter) async { |
| 36 | - _imageUrl = event.imagePath; | 44 | + //_imageUrl = event.imagePath; |
| 37 | try { | 45 | try { |
| 38 | - // todo 加个loading UI | ||
| 39 | - String avatarUrl = await AliyunOssUtil.uploadFile(event.imagePath); | ||
| 40 | - // 上传服务器 | ||
| 41 | - await UserDao.updateUserInfoField(avatarUrl: avatarUrl); | 46 | + await _uploadAvatar(event.imagePath); |
| 42 | emitter(ChangeImageState()); | 47 | emitter(ChangeImageState()); |
| 43 | } catch (e) { | 48 | } catch (e) { |
| 44 | Log.e('上传头像失败:$e'); | 49 | Log.e('上传头像失败:$e'); |
| @@ -52,7 +57,13 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { | @@ -52,7 +57,13 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { | ||
| 52 | return; | 57 | return; |
| 53 | } | 58 | } |
| 54 | _file = await picker.pickImage(source: ImageSource.gallery); | 59 | _file = await picker.pickImage(source: ImageSource.gallery); |
| 55 | - emitter(ChangeImageState()); | 60 | + try { |
| 61 | + await _uploadAvatar(_file!.path); | ||
| 62 | + emitter(ChangeImageState()); | ||
| 63 | + } catch (e) { | ||
| 64 | + Log.e('上传头像失败:$e'); | ||
| 65 | + } | ||
| 66 | + //emitter(ChangeImageState()); | ||
| 56 | }); | 67 | }); |
| 57 | } | 68 | } |
| 58 | 69 | ||
| @@ -63,7 +74,13 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { | @@ -63,7 +74,13 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { | ||
| 63 | return; | 74 | return; |
| 64 | } | 75 | } |
| 65 | _file = await picker.pickImage(source: ImageSource.camera); | 76 | _file = await picker.pickImage(source: ImageSource.camera); |
| 66 | - emitter(ChangeImageState()); | 77 | + try { |
| 78 | + await _uploadAvatar(_file!.path); | ||
| 79 | + emitter(ChangeImageState()); | ||
| 80 | + } catch (e) { | ||
| 81 | + Log.e('上传头像失败:$e'); | ||
| 82 | + } | ||
| 83 | + //emitter(ChangeImageState()); | ||
| 67 | }); | 84 | }); |
| 68 | } | 85 | } |
| 69 | 86 |