*本事例主要讲了如下几点:
 * 1:将图片转换为BASE64加密字符串.
 * 2:将图片流转换为BASE64加密字符串.
 * 3:将BASE64加密字符串转换为图片.

* 4:在jsp文件中以引用的方式和BASE64加密字符串方式展示图片.

首先看工具类:

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;  import javax.imageio.ImageIO;  import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;  /** * @author IluckySi * @since 20150122 */
public class ImageUtil {  private static BASE64Encoder encoder = new sun.misc.BASE64Encoder();  private static BASE64Decoder decoder = new sun.misc.BASE64Decoder();  /** * 将图片转换为BASE64加密字符串. * @param imagePath 图片路径. * @param format 图片格式. * @return */  public String convertImageToByte(String imagePath, String format) {  File file = new File(imagePath);  BufferedImage bi = null;  ByteArrayOutputStream baos = null;  String result = null;  try {  bi = ImageIO.read(file);  baos = new ByteArrayOutputStream();  ImageIO.write(bi, format == null ? "jpg" : format, baos);  byte[] bytes = baos.toByteArray();  result = encoder.encodeBuffer(bytes).trim();  System.out.println("将图片转换为BASE64加密字符串成功!");  } catch (IOException e) {  System.out.println("将图片转换为 BASE64加密字符串失败: " + e);  } finally {  try {  if(baos != null) {  baos.close();  baos = null;  }  } catch (Exception e) {  System.out.println("关闭文件流发生异常: " + e);  }  }  return result;  }  /** * 将图片流转换为BASE64加密字符串. * @param imageInputStream * @param format 图片格式. * @return */  public String convertImageStreamToByte(InputStream imageInputStream, String format) {  BufferedImage bi = null;  ByteArrayOutputStream baos = null;  String result = null;  try {  bi = ImageIO.read(imageInputStream);  baos = new ByteArrayOutputStream();  ImageIO.write(bi, format == null ? "jpg" : format, baos);  byte[] bytes = baos.toByteArray();  result = encoder.encodeBuffer(bytes).trim();  System.out.println("将图片流转换为BASE64加密字符串成功!");  } catch (IOException e) {  System.out.println("将图片流转换为 BASE64加密字符串失败: " + e);  } finally {  try {  if(baos != null) {  baos.close();  baos = null;  }  } catch (Exception e) {  System.out.println("关闭文件流发生异常: " + e);  }  }  return result;  }  /** * 将BASE64加密字符串转换为图片. * @param base64String * @param imagePath 图片生成路径. * @param format 图片格式. */  public void convertByteToImage(String base64String, String imagePath, String format) {  byte[] bytes = null;  ByteArrayInputStream bais = null;  BufferedImage bi = null;  File file = null;  try {  bytes = decoder.decodeBuffer(base64String);  bais = new ByteArrayInputStream(bytes);  bi = ImageIO.read(bais);  file = new File(imagePath);  ImageIO.write(bi, format == null ? "jpg" : format, file);  System.out.println("将BASE64加密字符串转换为图片成功!");  } catch (IOException e) {  System.out.println("将BASE64加密字符串转换为图片失败: " + e);  } finally {  try {  if(bais != null) {  bais.close();  bais = null;  }  } catch (Exception e) {  System.out.println("关闭文件流发生异常: " + e);  }  }  }
}  

然后看测试类:

import java.io.InputStream;  import com.ilucky.util.image.ImageUtil;  /** * 本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方式和BASE64加密字符串方式展示图片. * @author IluckySi * @since 20150122 */
public class MainTest {  public static void main(String[] args) {  ImageUtil imageUtil = new ImageUtil();  String base64String = imageUtil.convertImageToByte("D:\\test.png", "png");  System.out.println(base64String);  imageUtil.convertByteToImage(base64String, "D:\\test2.png", "png");  InputStream is = MainTest.class.getResourceAsStream("test.png");  String base64String2 = imageUtil.convertImageStreamToByte(is, "png");  System.out.println(base64String2);  imageUtil.convertByteToImage(base64String2, "D:\\test3.png", "png");  }
}  

最后看jsp文件:

    <!DOCTYPE html>  <html>  <head>  <title>index.html</title>  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="this is my page">  <meta http-equiv="content-type" content="text/html; charset=UTF-8">  </head>  <body>  <!--   data表示取得数据的协定名称,image/png是数据类型名称,base64 是数据的编码方法,  逗号后面是image/png文件base64编码后的数据.   data:text/css;base64,base64编码的CSS代码   data:text/javascript,Javascript代码   data:text/javascript;base64,base64编码的Javascript代码   data:image/gif;base64,base64编码的gif图片数据   data:image/png;base64,base64编码的png图片数据   data:image/jpeg;base64,base64编码的jpeg图片数据   data:image/x-icon;base64,base64编码的icon图片数据   -->  <img src="test.png"/>  <img 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=="/>   </body>  </html>  

部署项目,启动服务器,访问jsp页面,会看到浏览器上有两张一样的图片. 本文转自:http://www.open-open.com/code/view/1437973465238

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

  1. java图片文件字符串jsp_将图片转成base64字符串并在JSP页面显示的Java代码

    *本事例主要讲了如下几点: * 1:将图片转换为BASE64加密字符串. * 2:将图片流转换为BASE64加密字符串. * 3:将BASE64加密字符串转换为图片. * 4:在jsp文件中以引用的方 ...

  2. base64转html文件,图片转换成Base64编码集成到html文件

    首先为什么要这么做?  原因很简单这样可以减少与服务器的请求,当然对于一些浏览器并不支持,如IE8.通常用在手机版网站中,具体转化方法如下: 1.在线打开Base64的编码器将图片编码成Base64 ...

  3. php图片转字符程序,将图片转成base64字符串的PHP代码

    PHP 如何把图片转成 BASE64 编码用PHP把图片转成 BASE64 编码 代码怎么些,要详细的,非常感谢. 请试一试下面的代码 试一试. php图片转base64并保存为文本认识我的人以为我很 ...

  4. HTML怎么转换base64教程,html5将图片转换成base64代码

    我们为什么要把图片转换成base64代码? base64是一种网络上常用的8bit字节代码的编码方式,base64可以用于http环境下传递较长的标识信息,同时可以放在url当中使用,因为base64 ...

  5. html5将图片转换成base64的实例代码

    这篇文章给大家介绍了如何利用html5将图片转换成base64,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴. base64编码介绍 base64是一种网络上常用的8bit字节代码的编码方 ...

  6. java图片转换成base64_Java将图片转换成Base64字符串

    public classImageUtil {/*** 本地图片转换成base64字符串 *@paramimgFile * 图片本地路径 *@return */ public static Strin ...

  7. php将上传的图片转为base64,html5实现把上传的图片转成base64编码在显示(代码实例)...

    本章给大家介绍html5实现把上传的图片转成base64编码在显示(代码实例).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 首先我们来详细的看一看base64编码: 什么是bas ...

  8. html本地路径图片转成base64,canvas-toDataURL()将图片转为dataURL(base64)

    将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...

  9. JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库

    转载自  JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库 开发环境:struts2+ spring + hibernate 数据库:oracle 需求:在HTML编 ...

最新文章

  1. wxWidgets:wxWindowUpdateLocker类用法
  2. php get请求 json返回,[1.23]-请求和响应:GET和POST两者皆可得及超越JSON格式返回 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  3. 后端学习 - JavaWeb
  4. 初识Firebug 全文 — firebug的使用
  5. base64 img图片按父div等比例显示
  6. FGSM实例:利用fgsm攻击RMB识别模型
  7. 手动制作解除U盘写保护文件
  8. Eclipse 使用SVN时出现错误:The working copy needs to be upgraded svn
  9. MAT分析器中的shallow and retained heap详解
  10. 介绍一个产品的思维导图_产品经理可以用思维导图做什么?
  11. 【计算机视觉】简述对RandLA-Net(大场景点云)的理解
  12. win7系统下共享电脑网络
  13. 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM
  14. 机器视觉光源选型总结---同轴光原理与应用
  15. 如何用企业微信做私域流量客户运营,社群运营?企业微信入门篇(完整版)
  16. linux下安装工具——yum
  17. 2dpsk差分相干解调matlab,2DPSK差分相干解调器设计.doc
  18. markdown编写一个幻灯片快速入门版
  19. Tensorflow:TypeError: pred must not be a Python bool
  20. 如何用纯 CSS 创作从按钮两侧滑入装饰元素的悬停特效

热门文章

  1. 2.5W 字详解线程与锁了,面试随便问!!
  2. 一些高阶矩的介绍,峰度和偏度
  3. UE4 时光倒流(蓝图)
  4. JavaScript函数和BOM及DOM编程(详细总结-无尿点)
  5. 问题 D: 猫和兔子
  6. 2020微信设置2小时到账或24小时到账
  7. VLAN Switch
  8. linux修改dns不生效,Linux 临时修改和永久修改DNS的方法
  9. 安卓最新版本_小米穿戴app下载安装-小米穿戴app官方版下载v1.2.1 安卓最新版本...
  10. (转)iOS 上的相机捕捉