diff --git a/app/pubspec.lock b/app/pubspec.lock index ea522dad..10f02f59 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -138,7 +138,7 @@ packages: path: ".." relative: true source: path - version: "0.3.2" + version: "0.3.3" flutter_test: dependency: "direct dev" description: flutter @@ -336,6 +336,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.0-nullsafety.1" + string_validator: + dependency: transitive + description: + name: string_validator + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.4" term_glyph: dependency: transitive description: diff --git a/lib/widgets/editor.dart b/lib/widgets/editor.dart index 0c4668d0..fe16ca67 100644 --- a/lib/widgets/editor.dart +++ b/lib/widgets/editor.dart @@ -1,3 +1,4 @@ +import 'dart:convert'; import 'dart:io' as io; import 'dart:math' as math; @@ -19,6 +20,7 @@ import 'package:flutter_quill/widgets/image.dart'; import 'package:flutter_quill/widgets/raw_editor.dart'; import 'package:flutter_quill/widgets/responsive_widget.dart'; import 'package:flutter_quill/widgets/text_selection.dart'; +import 'package:string_validator/string_validator.dart'; import 'package:universal_html/prefer_universal/html.dart' as html; import 'package:url_launcher/url_launcher.dart'; @@ -407,9 +409,16 @@ class _QuillEditorSelectionGestureDetectorBuilder getEditor().context, MaterialPageRoute( builder: (context) => ImageTapWrapper( - imageProvider: imageUrl.startsWith('http') - ? NetworkImage(imageUrl) - : FileImage(io.File(blockEmbed.data))), + imageProvider: imageUrl.startsWith('http') + ? NetworkImage(imageUrl) + : (isBase64(imageUrl)) + ? Image.memory( + base64.decode(imageUrl), + ) + : FileImage( + io.File(blockEmbed.data), + ), + ), ), ); } diff --git a/pubspec.lock b/pubspec.lock index 98099ad6..8ed46711 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -252,6 +252,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.0-nullsafety.1" + string_validator: + dependency: "direct main" + description: + name: string_validator + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.4" term_glyph: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 7f4a1445..480867a0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,6 +21,7 @@ dependencies: image_picker: ^0.6.7+22 photo_view: ^0.10.3 universal_html: ^1.2.1 + string_validator: ^0.1.4 flutter_keyboard_visibility: ^4.0.4 dev_dependencies: