BASE64文字列は画像に変換され、

com.dhht.wechat.utilパッケージ; 

インポートsun.misc.BASE64Decoder;
インポートsun.misc.BASE64Encoder;

インポートjava.io. *;

/ **
* @author:SH
* @description:ImgUtil
* @date:9:14 2019年7月1日
* /
publicクラスImgUtil {


/ **
* base64文字列に絵
*
* @paramのimgpath
* @return
* /
パブリック静的な文字列GetImageStr(文字列imgpath){//画像ファイルバイト配列にストリング、および符号化処理をBase64に供
列imgFile = imgPath; //画像を処理する
=ヌルにInputStreamを、
バイト[]データ= NULL;
列エンコード= NULL; //はBase64でエンコードされたバイト配列の文字列を返します
//バイト配列Base64エンコーディング
エンコーダ=新しい新しいBase64Encoder Base64Encoder();
試み{
//バイトの画像アレイを読み取る
FileInputStreamの新しい新=(imgfile)で、
データ=新しい新しいバイト[in.available()];
in.read(データ);
エンコード= encoder.encode (データ);
}キャッチ(IOExceptionをE){
e.printStackTrace();
} {最後に
試し{
in.close();
}キャッチ(IOExceptionをE){
// TODO自動生成されたブロックキャッチ
e.printStackTrace();
}
}
戻りエンコード;
}

/ **
* Base64文字列画像は、に変換されます
*
*コーディング@Param imgDataピクチャ
* @param imgFilePathは、ローカルパスに格納されている
* @return
*にIOException @throws
* /
@SuppressWarningsを( "最後に")
パブリック静的ブールGenerateImage(imgData文字、文字列imgFilePathは)のIOException {//バイトをスローBase64文字列の配列と復号画像を生成する
(imgData == NULL)//ヌル画像データをする場合は
falseに戻り、
Base64Decoder新しい新しいBase64Decoder =デコーダ();
のOutputStream OUT = NULL;
試み{
OUTは=新しい新規たFileOutputStream(imgFilePath);
// BASE64のデコード
;バイト[] B = decoder.decodeBuffer(imgData)
{(; Iは、てb.lengthから<I ++はI = 0の整数)のための
(B [I] <0){//调整异常数据の場合
B [I] + = 256。
}
}
out.write(B)
}キャッチ(にFileNotFoundException電子){
// TODO自動生成キャッチブロック
e.printStackTrace();
}キャッチ(IOExceptionを電子){
// TODO自動生成キャッチブロック
e.printStackTrace();
}最後に{
out.flush()。
out.close();
trueを返します。
}
}
}

おすすめ

転載: www.cnblogs.com/sung1024/p/11391965.html