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 | 39 | showToast('修改成功'); |
| 40 | 40 | } |
| 41 | 41 | }), |
| 42 | - BlocListener( | |
| 42 | + BlocListener<UserAvatarBloc,UserAvatarState>( | |
| 43 | 43 | listener: (context,state){ |
| 44 | 44 | if (state is ChangeImageState) { |
| 45 | 45 | showToast('上传图片'); |
| ... | ... | @@ -202,4 +202,4 @@ class _ModifyUserAvatarPage extends StatelessWidget { |
| 202 | 202 | ], |
| 203 | 203 | ); |
| 204 | 204 | }); |
| 205 | -} | |
| 206 | 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 | 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 | 43 | void _changeImage(ChangeImageEvent event, Emitter<UserAvatarState> emitter) async { |
| 36 | - _imageUrl = event.imagePath; | |
| 44 | + //_imageUrl = event.imagePath; | |
| 37 | 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 | 47 | emitter(ChangeImageState()); |
| 43 | 48 | } catch (e) { |
| 44 | 49 | Log.e('上传头像失败:$e'); |
| ... | ... | @@ -52,7 +57,13 @@ class UserAvatarBloc extends Bloc<UserAvatarEvent, UserAvatarState> { |
| 52 | 57 | return; |
| 53 | 58 | } |
| 54 | 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 | 74 | return; |
| 64 | 75 | } |
| 65 | 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 | ... | ... |