In my flutter application, time to time I am getting following error while storing image data into firebase storage and Firestore db(URL only).
══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
The following ArgumentError was thrown resolving an image codec:
Invalid argument(s): No host specified in URI file:///
When the exception was thrown, this was the stack:
#0 _HttpClient._openUrl (dart:_http/http_impl.dart:2667:9)
#1 _HttpClient.getUrl (dart:_http/http_impl.dart:2575:48)
#2 NetworkImage._loadAsync (package:flutter/src/painting/_network_image_io.dart:87:59)
#3 NetworkImage.load (package:flutter/src/painting/_network_image_io.dart:50:14)
#4 ImageProvider.resolveStreamForKey.<anonymous closure> (package:flutter/src/painting/image_provider.dart:505:13)
#5 ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:380:22)
#6 ImageProvider.resolveStreamForKey (package:flutter/src/painting/image_provider.dart:503:83)
#7 ScrollAwareImageProvider.resolveStreamForKey (package:flutter/src/widgets/scroll_aware_image_provider.dart:106:19)
#8 ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:333:9)
#9 ImageProvider._createErrorHandlerAndKey.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:464:26)
#10 SynchronousFuture.then (package:flutter/src/foundation/synchronous_future.dart:41:35)
#11 ImageProvider._createErrorHandlerAndKey.<anonymous closure> (package:flutter/src/painting/image_provider.dart:461:11)
#15 ImageProvider._createErrorHandlerAndKey (package:flutter/src/painting/image_provider.dart:453:16)
#16 ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:330:5)
#17 _ImageState._resolveImage (package:flutter/src/widgets/image.dart:1119:16)
#18 _ImageState.didUpdateWidget (package:flutter/src/widgets/image.dart:1091:7)
#19 StatefulElement.update (package:flutter/src/widgets/framework.dart:4977:57)
#44 _drawFrame (dart:ui/hooks.dart:115:31)
(elided 6 frames from dart:async)
Image provider: NetworkImage("", scale: 1.0)
Image key: NetworkImage("", scale: 1.0)
Image data stores as follows.
Map<String, dynamic> imageData = <String, dynamic>{
'refID': refId,
'type': 'POST',
'position': index,
'imgURL': _uploadImageList![index],
'create_timestamp':
TimestampModel.getCurrentTimestamp(
'YYYYMMDDHHMINSS'),
'modified_timestamp': null
};
postDao.addSubDocument(refId, imageData);
static String collectionName = 'posts';
static String subCollectionName = 'images';
void addSubDocument(String docId, Map<String, dynamic> data) {
HeaderDetailDoc hederDetail =
HeaderDetailDoc(firebaseDao.getCurrentUser()!.uid, 'users');
hederDetail.addSubItem(
docId: docId,
collectionName: collectionName,
subCollectionName: subCollectionName,
data: data);
}
Anybody has an idea, why this error throws rarely? Can it be a network issue?