From 93c0e883d3d9835f3991ccc93e1b78ccf430009f Mon Sep 17 00:00:00 2001 From: shilangyu Date: Sat, 24 Oct 2020 19:58:38 +0200 Subject: [PATCH] error handling on image upload --- lib/pages/create_post.dart | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/pages/create_post.dart b/lib/pages/create_post.dart index c998c21..c2c6d4b 100644 --- a/lib/pages/create_post.dart +++ b/lib/pages/create_post.dart @@ -73,17 +73,24 @@ class CreatePost extends HookWidget { ); uploadPicture() async { - final pic = await imagePicker.getImage(source: ImageSource.gallery); - // pic is null when the picker was cancelled - if (pic != null) { - imageUploadLoading.value = true; + try { + final pic = await imagePicker.getImage(source: ImageSource.gallery); + // pic is null when the picker was cancelled + if (pic != null) { + imageUploadLoading.value = true; - final pictrs = LemmyApi(selectedInstance.value).pictrs; - final upload = await pictrs.upload(pic.path); + final pictrs = LemmyApi(selectedInstance.value).pictrs; + final upload = await pictrs.upload(pic.path); - pictrsDeleteToken.value = upload.files[0]; - urlController.text = - pathToPictrs(selectedInstance.value, upload.files[0].file); + pictrsDeleteToken.value = upload.files[0]; + urlController.text = + pathToPictrs(selectedInstance.value, upload.files[0].file); + } + // ignore: avoid_catches_without_on_clauses + } catch (e) { + scaffoldKey.currentState + .showSnackBar(SnackBar(content: Text('Failed to upload image'))); + } finally { imageUploadLoading.value = false; } }