#flutter #dart
Вопрос:
Я просто выбираю изображение из пакета image_picker, как это
_imgFromCamera() async {
File image = await ImagePicker.pickImage(
source: ImageSource.camera, imageQuality: 50
);
final bytes = image.readAsBytesSync();
String base64Image = base64Encode(bytes);
print(base64Image);
setState(() {
_image = image;
});
}
Вы можете видеть, что у меня также есть изображение преобразования в строке. Мне нужно знать, как я могу показать эту строку в виде изображения? Поскольку я сохраняю эту строку на другой странице, теперь мне нужно показать изображение
Комментарии:
1. Почему вам нужно преобразовать изображение в строку base64. Вам нужно где-то так это хранить? Или это просто то, что, как вы думали, может вам помочь?
2. @SiddharthAgrawal Я обновил вопрос, который мне нужно сохранить в виде строки, потому что на другой странице мне нужно показать то же изображение, я сделаю это с помощью sqllite, поэтому я думаю, что здесь проще всего преобразовать в строку.
3. Если вам не нужно хранить изображение в базе данных, почему бы вам не передать этот файл и не показать изображение с помощью файла?
4. Нужно его хранить.
Ответ №1:
Вы можете преобразовать строку base64 в файл с помощью
import `dart:covert`
Uint8List bytes = base64decode(_base64);
а затем отобразите его с помощью виджета
Image.memory(bytes),
Вы можете просто написать это в одной строке, но я разделил ее для удобства чтения
Image.memory(base64Decode(base64String));