Saltar al contenido

Cómo identificar el tipo de archivo por codificación Base64 string de una imagen

Revisamos de forma completamente cada secciones en nuestro espacio con el objetivo de enseñarte siempre la información más veraz y actual.

Solución:

si quieres obtener el tipo Mime, usa este

const body = profilepic:"data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789";
let mimeType = body.profilepic.match(/[^:]w+/[w-+d.]+(?=;|,)/)[0];

Demostración en línea aquí

===========================================

si desea obtener solo un tipo como (png, jpg), etc.

const body2 = profilepic:"data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789";
let mimeType2 = body2.profilepic.match(/[^:/]w+(?=;|,)/)[0];

Demostración en línea aquí

He resuelto mi problema con el uso mimeType = URLConnection.guessContentTypeFromStream(inputstream);

 //Decode the Base64 encoded string into byte array
 // tokenize the data since the 64 encoded data look like this "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAKAC"

    String delims="[,]";
    String[] parts = base64ImageString.split(delims);
    String imageString = parts[1];
    byte[] imageByteArray = Base64.decode(imageString );

    InputStream is = new ByteArrayInputStream(imageByteArray);

    //Find out image type
    String mimeType = null;
    String fileExtension = null;
    try 
        mimeType = URLConnection.guessContentTypeFromStream(is); //mimeType is something like "image/jpeg"
        String delimiter="[/]";
        String[] tokens = mimeType.split(delimiter);
        fileExtension = tokens[1];
     catch (IOException ioException)

    

Puedes comprobar así:

String[] strings = base64String.split(",");
String extension;
switch (strings[0]) //check image's extension
    case "data:image/jpeg;base64":
        extension = "jpeg";
        break;
    case "data:image/png;base64":
        extension = "png";
        break;
    default://should write cases for more images types
        extension = "jpg";
        break;

Comentarios y calificaciones

Puedes añadir valor a nuestro contenido tributando tu veteranía en las críticas.

¡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 *