この記事では、base64画像をJavaのローカル画像に変換する方法について説明します。次のように、参照のために共有してください。
Base64画像データをローカル画像に変換するためにプロジェクトで使用される関数
/*** HTMLのbase64画像データを実際の画像として置き換えます* @param html* @param filerootローカルパス* @param serroot server path* @return*/public static string fileAroot、string serroot){file file = new file(filEroot); if(!file.exists()){// new file(fileroot).mkdirs();を作成します。 }文字列htmlcontent = html;パターン= pattern.compile( "// <img [^>]*src =/" data:image/[^>]*> "); matcher matcher = pattern.matcher(html); guidutils.init(); exstringutils.substringbetween(str、 "src =/" "、"/""); // src = "..." string ext = exstringutils.defaultifempty(exstringutils.substringbetween(str、 "data:data:image/"、 ")、" jpg "); exstringutils.substringbetween(str、 "base64、"、 "/" "); //画像データ(exstringutils.isnotblank(ext)&& exstringutils.isnotblank(base64imgdata)){//データ:画像/gif; based64エンコード化されたGIFイメージデータ:画像// png画像データ( "jpeg" .equalsignorecase(ext)){// data:image/jpeg; base64、base64エンコードjpeg画像データext = "jpg"; } else if( "x-icon" .equalsignorecase(ext)){// data:image/x-icon; base64、base64エンコードアイコン画像データext = "ico"; } string filename = guidutils.buildmd5guid(false)+"。"+ext; // string filepath = fileroot+fileeroot+filename; //画像パストライ{convertbase64datatoatoimage(base64imgdata、filepath; // serroot+filenme; htmlcontent = htmlcontent.replace(src、serpath); // srcをサーバーアドレスに置き換える} catch(ioexception e){e.printstacktrace(); }}} return htmlcontent;}/*** base64画像データをローカル画像に変換* @param base64imgdata* @param filepath* @throws ioexception*/public static void convertbase64datatatoimage(string base64imgdata、string filepath) base64Decoder(); byte [] bs = d.decodebuffer(base64imgdata); fileoutputStream os = new fileoutputStream(filepath); os.write(bs); os.close();}PS:参照用のいくつかのbase64オンラインツールを次に示します。
Base64エンコードおよびデコードツール:
http://tools.vevb.com/transcoding/base64
オンライン画像変換Base64ツール:
http://tools.vevb.com/transcoding/img2base64
base64オンラインエンコードおよびデコードUTF-8バージョン:
http://tools.vevb.com/tools/base64_decode-utf8.php
base64オンラインエンコードとデコードGB2312バージョン:
http://tools.vevb.com/tools/base64_decode-gb2312.php
Java関連のコンテンツの詳細については、このサイトのトピックをご覧ください:「Javaエンコード操作スキルの概要」、「Java数学的操作スキルの概要」、「Javaデータ構造とアルゴリズムに関するチュートリアル」、Javaキャラクターと文字列運用スキルの要約」、「Java Operation dom Node opering operince opering opering operince opering」
この記事がみんなのJavaプログラミングに役立つことを願っています。