Reputation: 35
final bytes = Io.File(file.path).readAsBytesSync();
String img64 = base64Encode(bytes);
String img642 = base64.normalize(img64);
print("img64 => $img642");
i get result iVBORw0KGgoAAAANSUhEUgAAAbAAAAN1CAYAAAAe9K4EAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHic7L3nk2THma/3ZOYx5au97/EGg5kBBgABEPT+cnd5797dq5Bu6Js+6a9ShBShkEIr3b1LriNBwhAegxmMNz2+x7Tv8ua4zNSHU90zMIQnyN49D2LQ3VXVp6uzqvOXb76/901hrbVkZGRkZGTsMOSf+glkZGRkZGR8ETIBy8jIyMjYkWQClpGRkZGxI8kELCMjIyNjR5IJWEZGRkbGjiQTsIyMjIyMHUkmYBkZGRkZO5JMwDIyMjIydiSZgGVkZGRk7EgyAcvIyMjI2JFkApaRkZGRsSPJBCwjIyMjY0eSCVhGRkZGxo4kE7CMjIyMjB1JJmAZGRkZGTuSTMAyMjIyMnYkmYBlZGRkZOxIMgHLyMjIyNiRZAKWkZGRkbEjyQQsIyMjI2NHkglYRkZGRsaOJBOwjIyMjIwdSSZgGRkZGRk7kkzAMjIyMjJ2JJmAZWRkZGTsSDIBy8jIyMjYkWQClpGRkZGxI8kELCMjIyNjR5IJWEZGRkbGjiQTsIyMjIyMHUkmYBkZGRkZO5JMwDIyMjIydiSZgGVkZGRk7EgyAcvIyMjI2JFkApaRkZGRsSPJBCwjIyMjY0eSCVhGRkZGxo4kE7CMjIyMjB1JJmAZGRkZGTuSTMAy/mhYa//UTyEjI+PfMM6f+glk/NvBWkuSJERRRJIkGGNwHAfP83BdFymz9VJGRsZXRyZgGV8JSaLp9XrU63VWV1dpNJtok1AqlRkdGWFqcpJyuYzjOAgh/tRPNyMj498AmYBlfCnSqEuzubnJnTt3uHz5ChcuXGBldRWEoVqtsnfvXp55+mmOHDnC6Mgovu9nIpaRkfGlyQQs4wtjjKHX7bKyusKZM6e5fOkS9+7dpV6vE8URSgmioEWntUmjtsrS0l0OHzrMvv0HGR0
how to get result with format ?
data:image/jpeg;base64,/9j/4AA .........
i want send this format to send email image.. with html <img src= first result is not show. thanks for your help
update ==>
final bytes = Uint8List.fromList(file.readAsBytesSync());
var decodedImage = await decodeImageFromList(file.readAsBytesSync());
print("height-widht ${decodedImage.height}, ${decodedImage.width}");
var dataUrl = Uri.dataFromBytes(
bytes,
// mimeType: 'application/octet-stream',
).toString();
print("dataUrl $dataUrl");
i got height from print height-widht 885, 432
but when i put result in <img src="" it's only show height my be 20..
my complete code
final directory = await getApplicationDocumentsDirectory(); String filename = '${directory.path}/${orderCtrl.orderDetail.first.id}_${generateRandomString(5)}.png'; final imagePath = await File(filename).create(); await imagePath.writeAsBytes(image); print(filename); File file = File('${filename}');
final bytes = Uint8List.fromList(file.readAsBytesSync());
var decodedImage = await decodeImageFromList(file.readAsBytesSync());
print("height-widht ${decodedImage.height}, ${decodedImage.width}");
var dataUrl = Uri.dataFromBytes(
bytes,
// mimeType: 'application/octet-stream',
).toString();
print("dataUrl $dataUrl");
String img64 = base64UrlEncode(bytes);
print("img64 => $img64");
String img642 = base64.normalize(img64);
print("img642 => $img642");
String img6421 = "data:image/jpeg;base64,${base64.normalize(img64)}";
print(img6421);
Get.dialog(Column(
children: [
Expanded(
child: Container(
child: SingleChildScrollView(
child: Container(
padding: EdgeInsets.all(10),
color: Colors.yellow,
child: Image.memory(base64Decode(img642))),
),
),
),
// Image.file(file),
],
));
in dialog is show but base64 i just get litte height of picture
Upvotes: 3
Views: 1025
Reputation: 4404
String img642 = "data:image/jpeg;base64,${base64.normalize(img64)}";
print(img642);
//result
data:image/jpeg;base64,VBORw0KG...
Upvotes: 0