DavidY
DavidY

Reputation: 51

How to display an Image.memory

I need to display an Image.memory in my project, but when I put this code in the body of Scaffold, it doesn't show.

import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'dart:convert';



Codec<String, String> stringToBase64 = utf8.fuse(base64);
String imagenJson = "Here, I put the BASE64 string";
Uint8List _image = base64Decode(imagenJson);
Image.memory(_image);

return Scaffold(
  appBar: AppBar(
    title: Text('Pruebas BASE64'),
  ),
  body: Image.memory(_image)
);

Upvotes: 5

Views: 23309

Answers (3)

Miro
Miro

Reputation: 449

If you just have a path for example /data/user/0/com.example.app/cache/311214142312/IMG5344234235.jpg,

you can use

Image.file(
  File(<the above path>)
)

Upvotes: 0

zanzer
zanzer

Reputation: 1

var img = "Here, I put the BASE64 string";
          final UriData? _data =  Uri.parse(img).data;
          myImage = _data!.contentAsBytes();

leading: CircleAvatar( radius: 50, child: Image.memory(myImage!), ),

Upvotes: 0

CopsOnRoad
CopsOnRoad

Reputation: 267384

// Create an instance variable
Image image;

@override
void initState() {
  super.initState();

  // put them here
  Codec<String, String> stringToBase64 = utf8.fuse(base64);
  String imagenJson = "Here, I put the BASE64 string";
  Uint8List _image = base64Decode(imagenJson);
  image = Image.memory(_image); // assign it value here

}

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(),
    body: image, // use it here
  );
}

Upvotes: 8

Related Questions