将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片

data格式的Url最直接的好处是,这些Url原本会引起一个新的网络访问,因为那里是一个网页的地址,现在不会有新的网络访问了,因为现在这里是网页的内容。这样做,会减少服务器的负载,当然同时也增加了当前网页的大小。所以对“小”数据特别有好处。

  另外听说这种方式可以将一些敏感的图片放进网页中...挺好玩的.....

 

    一、 在网页中查看图片的方法为:

     

 


    由于base64编码太占用篇幅因此仅仅用括号说明了一下。

    二、用Java将图片编码的代码,与将base64的编码转成图片的Java代码:

    

 
  1. package base64;

  2. import java.awt.image.BufferedImage;

  3. import java.io.ByteArrayInputStream;

  4. import java.io.ByteArrayOutputStream;

  5. import java.io.File;

  6. import java.io.IOException;

  7. import javax.imageio.ImageIO;

  8. import sun.misc.BASE64Decoder;

  9. import sun.misc.BASE64Encoder;

  10.  
  11. public class TestImageBinary {

  12. static BASE64Encoder encoder = new sun.misc.BASE64Encoder();

  13. static BASE64Decoder decoder = new sun.misc.BASE64Decoder();

  14.  
  15. public static void main(String[] args) {

  16. System.out.println(getImageBinary()); //将图片转成base64编码

  17. base64StringToImage(getImageBinary()); //将base64的编码转成图片

  18. }

  19.  
  20. static String getImageBinary(){

  21. File f = new File("d://1.jpg");

  22. BufferedImage bi;

  23. try {

  24. bi = ImageIO.read(f);

  25. ByteArrayOutputStream baos = new ByteArrayOutputStream();

  26. ImageIO.write(bi, "jpg", baos);

  27. byte[] bytes = baos.toByteArray();

  28.  
  29. return encoder.encodeBuffer(bytes).trim();

  30. } catch (IOException e) {

  31. e.printStackTrace();

  32. }

  33. return null;

  34. }

  35.  
  36. static void base64StringToImage(String base64String){

  37. try {

  38. byte[] bytes1 = decoder.decodeBuffer(base64String);

  39. ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);

  40. BufferedImage bi1 =ImageIO.read(bais);

  41. File w2 = new File("d://2.png");//可以是jpg,png,gif格式

  42. ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动

  43. } catch (IOException e) {

  44. e.printStackTrace();

  45. }

  46. }

  47.  
  48. }


   此Java代码sun.misc.BASE64Decoder这个包导入不进去的话,请将eclipse的Java运行环境修改成不是eclipse自带的jdk,我本来导入不进去,换成本地1.7的jdk就OK了。

 一下提供一个编码后图片的url:

--------------------- 本文来自 愤怒的火柴 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/caoyuan10036/article/details/7045190?utm_source=copy

你可能感兴趣的:(将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片)