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?
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:
Y si inspeccionamos el código vemos que la imagen esta en Base64
enjoy!!!
XJC es una herramienta de linea de comandos del compilador de esquemas de JAXB que se puede utilizar para convertir un e[...]
Tojorí es una libreria Java/Mysql para la creación de aplicaciones de base de datos utilizando el IDE de Netbeans desde[...]
En este tutorial crearemos una sencilla aplicación para android que nos permitirá subir una imagen a un servidor web. La[...]
En este post realizaremos un pequeño ejemplo de validación de archivos XML utilizando el esquema XSD y el lenguaje PHP ([...]
Cuando programamos visualmente desde Netbeans, el IDE nos ayuda mucho al generar rapidamente código predefinido, sin emb[...]
Java 8 trae consigo una nueva versión del motor de JavaScript llamada Nashorn, este motor introduce mejoras de rendimien[...]