Я хочу создать простую картинку профиля для моего приложения. Я думал, что это будет работать, как это, но это вызывает исключение при вызове, и я не могу понять, почему.
Widget _buildProfilePicture(double size) {
if (user.profileImage != null) {
return ClipRRect(
borderRadius: BorderRadius.circular(8.0),
child: Image.memory(
user.profileImage,
width: size,
height: size,
),
);
}
}
Атрибут user.profileImage
имеет тип данных Uint8List
.
Когда я вызываю его, он выдает это исключение:
════════ Exception caught by image resource service ════════════════════════════════════════════════
The following _Exception was thrown while resolving an image:
Exception: Could not instantiate image codec.
When the exception was thrown, this was the stack:
#0 _futurize (dart:ui/painting.dart:4304:5)
#1 instantiateImageCodec (dart:ui/painting.dart:1682:10)
#2 PaintingBinding.instantiateImageCodec (package:flutter/src/painting/binding.dart:88:12)
#3 MemoryImage._loadAsync (package:flutter/src/painting/image_provider.dart:714:18)
#4 MemoryImage.load (package:flutter/src/painting/image_provider.dart:706:14)
...
Image provider: MemoryImage(Uint8List#2592a, scale: 1.0)
Image configuration: ImageConfiguration(bundle: PlatformAssetBundle#633d8(), devicePixelRatio: 2.6, locale: en_US, textDirection: TextDirection.ltr, size: Size(50.0, 50.0), platform: android)
Image key: MemoryImage(Uint8List#2592a, scale: 1.0)
Я думаю, что это вызвано Image.memory
.
Спасибо за ответы заранее!