聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 将图片转成base64字符串并在JSP页面显示的Java代码

将图片转成base64字符串并在JSP页面显示的Java代码

时间:    下载该word文档
*本事例主要讲了如下几点:
*1:将图片转换为BASE64加密字符串.*2:将图片流转换为BASE64加密字符串.*3:BASE64加密字符串转换为图片.
*4:jsp文件中以引用的方式和BASE64加密字符串方式展示图片.
首先看工具类:
importjava.awt.image.BufferedImage;
importjava.io.ByteArrayInputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.File;
importjava.io.IOException;
importjava.io.InputStream;

importjavax.imageio.ImageIO;

importsun.misc.BASE64Decoder;
importsun.misc.BASE64Encoder;

/**

*@authorIluckySi
*@since20150122
*/
publicclassImageUtil{

privatestaticBASE64Encoderencoder=newsun.misc.BASE64Encoder(;
privatestaticBASE64Decoderdecoder=newsun.misc.BASE64Decoder(;

/**
*将图片转换为BASE64加密字符串.
*@paramimagePath图片路径.
*@paramformat图片格式.
*@return
*/
publicStringconvertImageToByte(StringimagePath,Stringformat{
Filefile=newFile(imagePath;
BufferedImagebi=null;
ByteArrayOutputStreambaos=null;

Stringresult=null;
try{
bi=ImageIO.read(file;
baos=newByteArrayOutputStream(;
ImageIO.write(bi,format==null?"jpg":format,baos;
byte[]bytes=baos.toByteArray(;
result=encoder.encodeBuffer(bytes.trim(;
System.out.println("将图片转换为BASE64加密字符串成功!";
}catch(IOExceptione{
System.out.println("将图片转换为BASE64加密字符串失败:"+e;
}finally{
try{
if(baos!=null{
baos.close(;
baos=null;
}
}catch(Exceptione{
System.out.println("关闭文件流发生异常:"+e;

}
}
returnresult;
}


/**
*BASE64加密字符串转换为图片.
*@parambase64String
*@paramimagePath图片生成路径.
*@paramformat图片格式.
*/
publicvoidconvertByteToImage(Stringbase64String,StringimagePath,Stringformat{
byte[]bytes=null;
ByteArrayInputStreambais=null;
BufferedImagebi=null;
Filefile=null;

try{
bytes=decoder.decodeBuffer(base64String;
bais=newByteArrayInputStream(bytes;
bi=ImageIO.read(bais;
file=newFile(imagePath;
ImageIO.write(bi,format==null?"jpg":format,file;
System.out.println("BASE64加密字符串转换为图片成功!";
}catch(IOExceptione{
System.out.println("BASE64加密字符串转换为图片失败:"+e;
}finally{
try{
if(bais!=null{
bais.close(;
bais=null;
}
}catch(Exceptione{
System.out.println("关闭文件流发生异常:"+e;
}

}
}
}

然后看测试类:
importjava.io.InputStream;

importcom.ilucky.util.image.ImageUtil;

/**
*本事例主要讲了如下几点:
*1:将图片转换为BASE64加密字符串.
*2:将图片流转换为BASE64加密字符串.
*3:BASE64加密字符串转换为图片.
*4:jsp文件中以引用的方式和BASE64加密字符串方式展示图片.
*@authorIluckySi
*@since20150122
*/
publicclassMainTest{


publicstaticvoidmain(String[]args{
ImageUtilimageUtil=newImageUtil(;

Stringbase64String=imageUtil.convertImageToByte("D:\\test.png","png";
System.out.println(base64String;
imageUtil.convertByteToImage(base64String,"D:\\test2.png","png";

InputStreamis=MainTest.class.getResourceAsStream("test.png";
Stringbase64String2=imageUtil.convertImageStreamToByte(is,"png";
System.out.println(base64String2;
imageUtil.convertByteToImage(base64String2,"D:\\test3.png","png";
}
}

最后看jsp文件:
html>



index.html
http-equiv="keywords"content="keyword1,keyword2,keyword3">
http-equiv="description"content="thisismypage">
http-equiv="content-type"content="text/html;charset=UTF-8">




src="test.png"/>
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFYklEQVR42sVXfUyUdRz/8XKhMZQO
7nmeuwMFwrBEVJqgDOcUHZvNuTarrdKam0zdKrckAy4goowxbaM5hE1yjVVzLjLRokBFz2qsQPGF
F8vmamtkL4s4OHDy6ff5EQcXx91hf/jHB777fj8v3+d57p7nOQFA3EuoPxcLhV90SlxziOSeUrHd
WRz5fv1uc1fl03OGizdGgmBd/5K5mzNyyO0M4EkEXqBAiI58Ed9WEFp1+MXYm1vW68hKM7AwJR5W
mx3RZqsCa/Y4I4dcaqilx10t0PGqCOssEjuvH7H9vW1zEgzNgK5ZYVh02HUN86w65tvGwJo9zhRH
cqmhlh70mtEC7a8Ie2ep6dPfW5eM3OnbhMo9S6GbLV6h04Eccqmhlh70omdQC3TsFbbLZaYL/W2Z
wA+PYbQ9B780rUJu1nxoMZaAC5BDLjXU0oNe9KS33wXkqRKXXguv+as1HejOxYhzNdwS+G4NjlUs
U0cX7+cscEYOudRQSw960ZPezPC9QIE69dv6Pk4exLX1GDm/Cu5z2Qojzmy4WrOxZUOSPELNz9Fr
ikMuNR699KInvZkx/sH0WqB9rzCuH5j7Mzrk1uel8HQW3GcmgK+y4axOR0qCVX7gpoazxxk55E7W

0oue9GYGs7wXKFCnP7+/cdEovs7GUHMm3C0rvHD7jMTZFSjYugAW89RvAXuckUPuf/X0pDczmMVM
zwJyI8v3lVFX7pzLxMiXGXB/sdwncDoDvfXLkJFqh1WbuBSs2eOMnOn09GYGs5g5eYHcXw/HAWcz
MfRZOtwSQz7APloexcHdD0GLnVhAlzV7nPnT8j8zmMVMzwKdjtCy/qPJuN0kSY1L/OL250tw61ga
Nqy0Q7doCqzZ4yygXmYwi5meBa6Wmk4NNaRgpDEVQ8cX+YVbAk2L0VCcrL52BGv23AG0hMqQWcz0
LNBTHtGFkw9D4UQQkLxR+X/LujiF0RMz0xIqc3yBb4sifmp+80G0lCcFhWYJZ0USDu6ar8C6OUit
0sssZnoWaNhh+tFqGIg3dM9p9QvJM5t1vP1cvALrmWiZxUzPAidfMLWlJBjqZhKMiRarY+UiAzer
5ymwZi8Y7dgNywAzPQuc3xNet3Ypv8+Bn3Y0sUqTQ3k24MM4BdZW3f9zYuKeoYNZzPQscNkRsv35
1WbExhoBDXT5zN+4XMcfNVYMv2dTYM0eZ4H0zGAWMz0L9JaK1P1PRQ7EWa0Bn3aJdh2NL2vAEQ2u
2jGwZo+zQHq7zJBZrusyc9IZEOEX8sM/yFxokafI8LO9jrx1GgaqY+CujYHr0BhYs5eXoynO9Kff
ADOc+eEfyUyT19Owp0SsKd0U5eYrlU+xvMaLk3S0OcxAbTRcB73BHmdpSWNcn5dPejNDZq2d8jiW

G4W07Q39JCctVr3T+br2ZY+bcac6CoPvzoGryhvscUaOr88CPenNDGb5fCPqKha2o3kRF1MTKfA+
+uxHNNx4IwrDVZFwveMbnJFD7uSzQC960psZft8Je4rFkzXPzh5eME+HTTfUs94mbxx1W+cCVbMw
uH82XNOAM3LIpUZppQe96EnvoN6K5TXaVfPMbCxO1BAVbeCJzBj89tYsDO+/DwOVEX5BDrmbpYZa
etCLnkG/ll8qEqK7WOQe32lybs54AKd23I/RA+EYqDAFBXJPSg219KAXPWf8y+iKQxhXHaLyRklI
363yUAzsC8OghGtfqE9wRg651FBLj7v/aTb+ul4oUi4VipIuh+i+WSKG+spC8Gd5CPr/BWv2OJOc
Hsl9XWoW/v/fht5LhLUXiARZb71cJOquFIlv5BH2EqzZ40xyEsm9OJMfp/cS/wC6xRqbyM2GFQAA
AABJRU5ErkJggg=="/>



部署项目,启动服务器,访问jsp页面,会看到浏览器上有两张一样的图片.


  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服