From 076eaf75b5c7b4c96d5abef49640e7c4fed45358 Mon Sep 17 00:00:00 2001 From: Develeste <93141030+Develeste@users.noreply.github.com> Date: Sun, 6 Feb 2022 20:17:34 +0900 Subject: [PATCH] [For ios] Saving image that's filename does not end with it's file extension (#651) --- .../widgets/embeds/default_embed_builder.dart | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/src/widgets/embeds/default_embed_builder.dart b/lib/src/widgets/embeds/default_embed_builder.dart index dab275c5..26ffd7be 100644 --- a/lib/src/widgets/embeds/default_embed_builder.dart +++ b/lib/src/widgets/embeds/default_embed_builder.dart @@ -162,6 +162,26 @@ Widget _menuOptionsForReadonlyImage( color: Colors.greenAccent, text: 'Save'.i18n, onPressed: () { + const List imageFormats = [ + '.jpeg', + '.png', + '.jpg', + '.gif', + '.webp', + '.tif', + '.heic' + ]; + + List endsWithFormats = imageFormats.where((imageFormat) => imageUrl.toLowerCase().endsWith(imageFormat)).toList(); + if (endsWithFormats.length == 0) { + for(int i = 0; i < imageFormats.length; i++) { + if (imageUrl.toLowerCase().contains(imageFormats[i])) { + imageUrl += imageFormats[i]; + break; + } + } + } + GallerySaver.saveImage(imageUrl).then((_) { ScaffoldMessenger.of(context) .showSnackBar(SnackBar(content: Text('Saved'.i18n)));