Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Convertir imagen a Base64

Convertir imagen a Base64

Por jc mouse lunes, septiembre 24, 2018

En este post vemos un ejemplo de como convertir un archivo de imagen en una cadena de texto codificado en Base64 aprovechando para ello, los métodos de Java8 y la librería de Apache Common IO para la escritura en disco.

Si no cuentas con la librería Common IO, puedes descargarla desde este enlace [Download Apache Commons IO]

¿De que nos sirve codificar una imagen en texto?

perro

Este tipo de codificado es útil por ejemplo cuando queremos transmitir información a un Web Service basado en REST utilizando el formato JSON. OJO que mientras más grande sea la imagen a codificar, el archivo generado también sera grande.

import java.io.File;
import java.io.IOException;
import java.util.Base64;
import org.apache.commons.io.FileUtils;

public class Main {

    //Directorio de trabajo
    static String directorio = "E:\\tmp\\imagenes\\";
    //extension del archivo de imagen
    static String extension = "png";
    //nombre del archivo de imagen sin extension
    static String archivo = "dog";

    public static void main(String[] args) {
        try {       
            //Codificamos la imagen, añadimos a una etiqueta HTML y escribimos en disco
            FileUtils.writeStringToFile(new File(directorio + archivo + ".html"),
                    "<img src=\"data:image/" + extension + ";base64," + imagenToBase64() + "\" />",
                    "UTF-8");
        } catch (IOException ex) {
            System.err.println(ex.getMessage());
        }
    }

    public static String imagenToBase64() throws IOException {
        byte[] fileContent = FileUtils
                .readFileToByteArray(new File(directorio + archivo + "." + extension));
        return Base64.getEncoder()
                .encodeToString(fileContent);
    }

}

Este código nos genera un archivo HTML el cual si abrimos obtendremos esto:

base64 java8

Y si inspeccionamos el código vemos que la imagen esta en Base64

foto codificado

enjoy!!!

Tags

Artículos similares

Ejercicios sencillos en C Sharp

Lenguaje: C# Nivel: Básico 1) Se desea desarrollar un programa que permita introducir una oración por teclado y contar l[...]

Como saber el tipo de objeto que contiene un hashmap

La clase hashMap es muy util para almacenar objetos de la forma ( Clave, Objeto ), donde Clave es un identificador único[...]

Cargar fuente TTF

Necesitamos: Android Studio 2 tipos de fuente TTF Agregar Archivo de fuente al proyecto Paso 1: Crear carpeta assets Cli[...]

Tesseract OCR: Reconocimiento de caracteres

OCR (Optical Character Recognition) en español, Reconociminto Optico de Caracteres, es el proceso por el cual  se extrae[...]

Genera videos, imagenes y más gratis con Qwen

Qwen es una familia de grandes modelos de lenguaje (LLMs) desarrollado por Alibaba Cloud. Este modelo multimodal es capa[...]

Crea un Themes WordPress con Netbeans – Configuracion

Este post te enseña una manera que tengo de configurar Netbeans para crear y ejecutar un proyecto php utilizando el CMS[...]