Este artículo describe el método de convertir los datos de la imagen Base64 en imágenes locales en Java. Compártelo para su referencia, como sigue:
Funciones utilizadas en el proyecto para convertir los datos de imagen Base64 en una imagen local
/*** Reemplace los datos de imagen Base64 en HTML como la imagen real* @param html* @param ruta local de archivoseot* @param ruta del servidor Serroot* @return*/public static string reemplazarBase64Image (string html, string fileroot, string serroot) {archivo archivo = nuevo archivo (fileroot); if (! file.exists ()) {// Crear nuevo archivo (fileroot) .mkdirs (); } Cadena htmlContent = html; Pattern Pattern = Pattern.Compile ("// <img [^>]*src =/" Data: Image/[^>]*> "); matcher Matcher = Pattern.Matcher (html); Guidutils.init (); while (Matcher.find ()) {// Encuentra el elemento base64 de la imagen Str = Matcher.group (); String Src = exstringutilss. "src=/"", "/"");//src="..." String ext = ExStringUtils.defaultIfEmpty(ExStringUtils.substringBetween(str, "data:image/", ";"), "jpg");//Picture suffix String base64ImgData = ExStringUtils.substringBetween(str, "base64,", "/" "); // datos de imagen if (exstringutils.isnotblank (ext) && exstringutils.isnotblank (base64ImgData)) {// datos: imagen/gif; base64, base64 Datos de imagen gif codificados // datos: imagen/png; base64, base64 Datos de imagen encodedados de imagen if ("jpeg" .equalSignorecase (ext)) {// data: image/jpeg; base64, base64 Datos de imagen JPEG codificados ext = "jpg"; } else if ("x-icon" .equalSignorecase (ext)) {// datos: imagen/x-icon; base64, base64 Datos de imagen de icono codificados Ext = "ICO"; } String FileName = GuidUtilss.BuildMd5Guid (false)+"."+Ext; // El nombre de archivo se almacenará String FilePath = FileRoot+File.SeParator+FileName; // La vía de imagen {ConvertBase64DATATAteImage (Base64IMGDATA, FilePath); // Convertir a File Serpath htmlContent = htmlContent.replace (src, serpath); // reemplazar src con la dirección del servidor} catch (ioException e) {E.PrintStackTraace (); } } } return htmlContent;}/*** Convert base64 image data into local image* @param base64ImgData* @param filePath* @throws IOException*/public static void convertBase64DataToImage(String base64ImgData,String filePath) throws IOException { BASE64Decoder d = new BASE64Decoder(); byte [] bs = d.decodebuffer (base64ImgData); FileOutputStream OS = nuevo FileOutputStream (FilePath); OS.Write (BS); os.close ();}PD: Aquí hay algunas herramientas en línea Base64 para su referencia:
Base64 Herramientas de codificación y decodificación:
http://tools.vevb.com/transcoding/base64
Herramienta de conversión de imágenes en línea 64:
http://tools.vevb.com/transcoding/img2base64
BASE64 Codificación y decodificación de la versión UTF-8:
http://tools.vevb.com/tools/base64_decode-utf8.php
Base64 En línea codificación y decodificación de la versión GB2312:
http://tools.vevb.com/tools/base64_decode-gb2312.php
Para obtener más información sobre el contenido relacionado con Java, consulte los temas de este sitio: "Resumen de las habilidades de operación de codificación de Java", "Resumen de las habilidades de operación matemática de Java", "Tutorial sobre estructura de datos de Java y algoritmo", "Resumen de habilidades de operación de caracteres y cadenas de Java", "Summary of Java Operation Dom Node Skills" y "Summary of Java Cache Skills" Skills ""
Espero que este artículo sea útil para la programación Java de todos.