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

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

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

 

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

     

<body>
<span><img width=100 height=100 src="data:image/gif;base64,(此处填图片转成base64编码后的编码)"/></span>
</body>

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

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

    

    package base64;
    import java.awt.image.BufferedImage;  
    import java.io.ByteArrayInputStream;  
    import java.io.ByteArrayOutputStream;  
    import java.io.File;  
    import java.io.IOException;  
    import javax.imageio.ImageIO;  
    import sun.misc.BASE64Decoder;  
    import sun.misc.BASE64Encoder;  
      
    public class TestImageBinary {  
        static BASE64Encoder encoder = new sun.misc.BASE64Encoder();  
        static BASE64Decoder decoder = new sun.misc.BASE64Decoder();  
          
        public static void main(String[] args) {  
                System.out.println(getImageBinary());  //将图片转成base64编码   
        	base64StringToImage(getImageBinary()); //将base64的编码转成图片 
        }  
          
        static String getImageBinary(){  
            File f = new File("d://1.jpg");         
            BufferedImage bi;  
            try {  
                bi = ImageIO.read(f);  
                ByteArrayOutputStream baos = new ByteArrayOutputStream();  
                ImageIO.write(bi, "jpg", baos);  
                byte[] bytes = baos.toByteArray();  
                  
                return encoder.encodeBuffer(bytes).trim();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            return null;  
        }  
          
        static void base64StringToImage(String base64String){  
            try {  
                byte[] bytes1 = decoder.decodeBuffer(base64String);                
                ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);  
                BufferedImage bi1 =ImageIO.read(bais);  
                File w2 = new File("d://2.png");//可以是jpg,png,gif格式  
                ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
      
    }  

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

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

<span><img width=10 height=10 src="data:image/gif;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABgAGQDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4 Tl5ufo6erx8vP09fb3 Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3 Pn6/9oADAMBAAIRAxEAPwD3 iii
gAoorL1XWbTR4vMuTKzHG2OGMu7EkKAAPUkAZ7mgCXUdTtNLtvOupAoJ2ogG55GPRVUcsT6CsxJ/
EeqBmijt9HtzzGZ08 cj/aQEKn5tWNcQw6lczPdrbieE7r2/lAdbP 7BC3Z eSPx5IAb9mv4Qbm1
13VW2jMS3NnKUc8EA 3GOR3 hoA6FdM1vB3 ICT222cY/PrUJbxPYxiV307UEBy6KjwOFz1BywJx
2wOaPD vfboEhvmMd6ZHRUaJkLAcjqAN23BIFdFigDM0jWrPWrd5bZiGjfZLE A8bejCtOud1uB9
LlTXrRGY2yBLqFAAHt8ksQAMllyWAz6jvW5BNFcwRzwyLJFIodHU5DA8gigCaiiigAooooAKKK5n
xFqGrwXUFppUYeSSCSXaoBdtpUYGSAOGJBJwSAOM0AdISFBJIAHUmvOWubrV7iTxBJK1vp9zKtna
rGpad1DMo8rkAMxJO45wM4xjJsXelSXGi6VaPqd/NfahcpGZ5ZXjk8kHfICgO0HapU8Yy30rql0O
1S9spgCI7GMpbQDhEJGC2O7YyAewJ9aAMnZDpdg2oarGmm6NpkZlhtdwbbt/5aORkM3ooJ5OeSRj
G8L/APCUeMLZ9cv9Xu9I0y5ctp9haxRiQRdFeR2ViSRzj8av63b6RptpNqXi6C2vIpiRLJKnmRxD
IEcUcZyWJ9hknJOOBUFrqF3qKxnTfBeqLbOMh9SvBbIF6cJuZhx0G0fhQB0troFtbXy30kk91eJH
5az3DAsB3xgAZPritiuTHh29uL6yuZWt7VLchisMskjDBzgM2MZ6E9xXRXV9BZCEzuEE0qwp7u3Q
UATOgkjZTnDDBwcH8xXD GNPuLzTLmE6jqaR2V1NbRolyqrKqsdvIXcvBA6g8ZrRXVL7Urqd9GvY
JrIyMrXDxERwbRtIDfxnOT6DA57Vj FdKvX1C/u7W/BjWQfvJ43kDylfnZRvUY oJJOcjoACtPfe
KvC mL56TXQZuACJPIU9S8jZLEYLbVHsDXfaZeRahpdtdwzpOk0auJUGFbjqAen0rD8US6ZYTWuo
6hqV1bPGVWOOAk7/AJuflHUEHB9vpV3wzbPDpxcQPb20pVre3c5ZE2gAt6McZI7Z9c0AbtFFFABW
B4hS6tUTWLCSNZbRWEqSDKyQkguOowwxke4x3rfrK1f/AElrfTFPNw4aUDqIl5Y/icL/AMCoAr6c
jajqr6tJGywJH5NlvBBKthnkweRuIUDPOF963a5/WNcTTtb0nTnu44WvnYKvlGR5CMfKMfdGNxLH
OMVy rav4i8U39xoulmLQdOI bU7lw0tzEeCYE6YP94njI6E0AUNJ1O3 I/xAvbkzNHpmgExacEk
AMtwT804B4O0DAyCAGz3r0AWmqw2hji1OOWXDYluLfLZJJH3SBx0xis/S/BOjaT4ah0K2hdbeJSB
Nn99knLNvHIYnuMdsdKnOiX8UzJZ61dwW2wlQ5E7bz7yAnaB2zk568UATyWGq3dpHDcX0ETqyszw
RNlsdRy3ANQQ F7U2ltb6lcT6lHbbfKW4I2AqMA7VABPuc9TSNpPiELGyeJTuX74ayj2v0/Ed 9Q
HwvdXnGq6vcXMbNueJMoregxnAHtj8aAHanfz3FrLp3h 0EzIhjeYbRDCOm1c8M OijgdyOhv2E0
Gm6TZpdCOxB2xJHJJklieBk9WP55zUiNYaDp 2a8jhtogzKZpABGg7AnsK5iC tviDPOLCbztCiZ
FNztXDyKdx8sHkHlQWI7HHWgB0it4g8TXGny61JcWUMm82tvEgEbIeVkYjcMNjBHXB9DXcVQ07S4
dNSXy3kklmk8yWWQgs7YAycADoAOAKv0AFFFFAEUsscETyyuqRopZmY4CgckmsvREkuDNq1wCr3m
3yUZcGKAD5FPuclj7tjtUGr7tU1W20VAfs4UXV6exjB SP8A4Ew5/wBlGHet1mCKWYgADJJ7CgDm
9W0 C41yIELJeXcfkqwXDQWynMuG6jcSFz7j0p/jLw6PEfhG80uFUS4Me61YjhJF5X6DjH0NO8Oh
r S816UEG9YJbg/wW6ZCfTcSzH/eHpXRUAfMWk/GPxZ4dvbCw8Rxu1tBGiuPLCztHkc5JwxwuMn1
PevYNJ MXgjVrbzRrUdmw6xXimNh/Q/gTWH8UPhxputfZdXMhtkhmxclYwVRHPMhHBIDEFhnoWPB
rntY/Z0guCk2j6v9mLkF4Z0LonHO1hyRnpnt3oA69fjf4JEsgl1FlULuRlhd93HI4HBz BqaLxT4
116J7jQvDUUWm3RRbS61CcRuqN1mMQ5ZcEEDIP1rgfB/ws0S08UeIdF8QWl1cC3EAsLto3TeWHzO
mPlIDFeuQO/evWJfC0lrpVvbaZc/ZWjILpFJJFE/IzhVbCA88DjntQB4p8SPCmuzalpenPr0 qae
LmO1y8aoEuZCzPsVeuF Ykk4zgmvc/BGijw/4QsNOUKFRCw2rt 8S3I9eeax7Hwpbz6xb2k0rz2W
kLJhWGA002CV78LHgdcneck857scCgAooooAKKKKAGhQCWAGT1NYPieaWS3h0m3JE2oP5RI/hj/i
P5f1roO1c3ow/tbXLvWm/wBTGPstqCP4Qcs34mgDfghS3gjhiGI41CKPQAYFS01mVVLMQFHUk9Kh
muobe3knllVY487mz0/ v7UAPlhSeJ4pUV43UqysMgg9Qa4yDxTZ6Jr0nhDVdRW3uPKD6fdSEfPG
2QqMTx5i4xz94YPXNQ6j4w1q2v4hDpsZtpmdY48M8p2EKxIU5zubGFBxg5pt54NHiuO9HiizCnU4
Y8RQtuNk8W7aQ/diJCT24xyKANmeLV4Zlsol1GeAupa/ 0wKwHf5dvQfSma/4nt/Ddtb2PnPe6tc
EJBCcFzlgvmSbQNqAkZbA9BzXjOtal8Tfhe50OC7k1DTZjssLx4PNIz0Ck5KsP7pyPTiu40Xwjda
b4ahgvJZZvFetOtzd3Ez7mHlESeWW7LkKvHdqAPSNMsRp9ksJkMkhYySykYMkjHLN7ZJ6dhgVoVx
KeMbyPV4INRtIbWNziWHLGWAdnYkBSue4yK7CKeKdN8To6ZI3KQRkHBoAmoqna6jZX0MM1rcxSpN
kxlW /jg4 lXKACiiigCpqF2LOwluCAxRflX 8x4UfiSB NYNvcH7fF4ftb6KGS3hE12ykNKxYnI
UHpk7iTg4yMdci/rtnJqRsrJZbiKJ5TJLLAdrAKOBu/hySORz6U618N6PZTwT2thDDNACI5EGGwR
g5P8WffNAFXXdDtJ9DvYy0jzNA4iNxdOV34 XOWx1xXKaPYWEVvFPHbo/nLb3cKuOFdSjHaT6kuM
kZ Su6kis9ds45A7PEH3I65UqwJB6/iMEVx1jbTXGjRp5c26IPtOz5vlZlbt13IxH/XQUAEV/eWG
uWPBuJpbmWHYSI9 4Zz06lVQ hINdpBqiSSeVNBcWsnQCZPlP0YZU/nXCX6TtcRXckU261uo7ktG
nzAI ZFBx02uWHqIyO9ehTwW2o2UkEypNbzKUdTyGB4IoAo69pratp32IBdkkqeYxbBVAckj1OBg
fX2rkZvFIX4nx2P2v7LpGn2zwzb8qjSkAjLEY4GABnrmumitb7T9JNk9zLdgssEEo SZEY4yzcgl
R/FjnHIzV7TtHstMiCwQ7n6tNKd8jnuWc8k0AY r31pqCW81lHLPPDOgRvKdY2DMoKlyACDkHGeo
Fcs1pb2cctjYM0Frc3O2aJXPlniZ5FAzwCI1PGMbj24rt9enSP7Ijq5RJPtL7Rn5Y8ED6lig/GsR
dPMeg2moy2gkaKeS4kjfPzrKrIx6ZGA3/fIoAg0rwyYtbubvSZEsY7ItDbQzRCTliWcsM5CnI2kE
HBPrz0lpqlzHdJZarbrbXEgPlSRvvilIGSFJAIbqdpHTpnBrlPDMk8 qSYgvIJLyNSb1VZgTGowp
JG3GD7ZOfUgdVeaVcalb TdXKAAbk2R8pKDlJA3YjigDaoqjplzNd6dDNMnlTEFZEYdHBIbHtkHH
tRQB/9k="/></span>




猜你喜欢

转载自blog.csdn.net/caoyuan10036/article/details/7045190
今日推荐