Saltar al contenido

¿Cómo leer bytes de un archivo de imagen local en Dart/Flutter?

Te sugerimos que revises esta resolución en un entorno controlado antes de enviarlo a producción, saludos.

Solución:

Con el entorno Flutter, tienes que usar AssetBundle si desea acceder a sus activos (https://flutter.io/assets-and-images/).

import 'package:flutter/services.dart' show rootBundle;


ByteData bytes = await rootBundle.load('assets/placeholder.png');

En dart Uint8List es igual a byte[].

  1. Cree una función y pase la ruta del archivo, devolverá Bytes.

    Future _readFileByte(String filePath) async 
        Uri myUri = Uri.parse(filePath);
        File audioFile = new File.fromUri(myUri);
        Uint8List bytes;
        await audioFile.readAsBytes().then((value) 
        bytes = Uint8List.fromList(value); 
        print('reading of bytes is completed');
      ).catchError((onError) 
          print('Exception Error while reading audio from path:' +
          onError.toString());
      );
      return bytes;
    
    
  2. Ahora llame a la función para obtener bytes de archivo.

    try
      Uint8List audioByte;
      String myPath= 'MyPath/abc.png';
      _readFileByte(myPath).then((bytesData) 
        audioByte = bytesData;
      //do your task here 
      );
     catch (e) 
       // if path invalid or not able to read
      print(e);
    
    
  3. Si desea base64String, utilice el siguiente código:

    Cadena audioString = base64.encode(audioByte);

para importar base64 ‘dardo: convertir’;

¡Espero que ayude!

valoraciones y reseñas

Eres capaz de sostener nuestro estudio escribiendo un comentario o valorándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *