`
bcyy
  • 浏览: 1818869 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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


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

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

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

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

  1. packagebase64;
  2. importjava.awt.image.BufferedImage;
  3. importjava.io.ByteArrayInputStream;
  4. importjava.io.ByteArrayOutputStream;
  5. importjava.io.File;
  6. importjava.io.IOException;
  7. importjavax.imageio.ImageIO;
  8. importsun.misc.BASE64Decoder;
  9. importsun.misc.BASE64Encoder;
  10. publicclassTestImageBinary{
  11. staticBASE64Encoderencoder=newsun.misc.BASE64Encoder();
  12. staticBASE64Decoderdecoder=newsun.misc.BASE64Decoder();
  13. publicstaticvoidmain(String[]args){
  14. System.out.println(getImageBinary());//将图片转成base64编码
  15. base64StringToImage(getImageBinary());//将base64的编码转成图片
  16. }
  17. staticStringgetImageBinary(){
  18. Filef=newFile("d://1.jpg");
  19. BufferedImagebi;
  20. try{
  21. bi=ImageIO.read(f);
  22. ByteArrayOutputStreambaos=newByteArrayOutputStream();
  23. ImageIO.write(bi,"jpg",baos);
  24. byte[]bytes=baos.toByteArray();
  25. returnencoder.encodeBuffer(bytes).trim();
  26. }catch(IOExceptione){
  27. e.printStackTrace();
  28. }
  29. returnnull;
  30. }
  31. staticvoidbase64StringToImage(Stringbase64String){
  32. try{
  33. byte[]bytes1=decoder.decodeBuffer(base64String);
  34. ByteArrayInputStreambais=newByteArrayInputStream(bytes1);
  35. BufferedImagebi1=ImageIO.read(bais);
  36. Filew2=newFile("d://2.png");//可以是jpg,png,gif格式
  37. ImageIO.write(bi1,"jpg",w2);//不管输出什么格式图片,此处不需改动
  38. }catch(IOExceptione){
  39. e.printStackTrace();
  40. }
  41. }
  42. }
分享到:
评论

相关推荐

    html5中如何将图片的绝对路径转换成文件对象

    将图片的绝对路径转换成base64编码,请看这篇文章 我们先来理解基本知识点: 1. 理解HTML5中的FileList对象与file对象。 在HTML5中,FileList对象表示用户选择的文件列表。通过添加multipe属性,file控件内允许一次...

    php MD5 base64 crypt等加密函数用法集.rar

    包括了MD5 base64 crypt Sha1等。一些用法说明如下:  var_dump(md5('zxcasd',$raw_output=true)); //raw_output为可选参数如果被设置...//base64_encode()可以让中文和图片顺利在网上传输,但是编码后多占33%的空间。

    proposal-binary-encoding:向 Web 平台添加现代、易于使用的二进制编码器的提议

    以下是一些需要 base64 或十六进制编码/解码一些二进制数据的(常见)用例: 将 png 图像编码为数据 URL(对 png 进行 base64 编码) 从加密摘要(哈希)创建十六进制字符串从crypto.getRandomValues生成随机 ID...

    JAVA工具包

    提供Base64编码、二进制编码、十六进制编码的相关功能。 date(日期包): 提供日期时间处理的相关功能。 db(数据库包): 提供C3P0数据库连接池管理、Druid数据库连接池管理、Redis连接池管理、SQL语句执行器。...

    字符串文件http密码资源文件openoffice图片等工具等

    TesseractOCR使用惠普开发的图像识别类库tesseract-ocr识别图片中的文字,可以用于识别验证码 LogUtil日志工具 AES256Encryption加解密 Base64Util加解密 CompressStringUtil压缩字符串与解压缩字符串 DESUtil加解密...

    JAVA工具包大全

    提供Base64编码、二进制编码、十六进制编码的相关功能。 date(日期包): 提供日期时间处理的相关功能。 db(数据库包): 提供C3P0数据库连接池管理、Druid数据库连接池管理、Redis连接池管理、SQL语句执行...

    Universal Encoder Decoder - AyaN Softwar:84 种编码/解码选项和完全离线 - AyaN Software-开源

    例如可以对64位BASE数据、URL、HTML、JavaScript、ROT 13进行编解码,可以将文本转二进制,反之亦然,十六进制转ASCII,十进制转二进制,十六进制,八进制,还可以生成MD4 、MD5、SHA1 和 SHA245 哈希等。

    编码 - 解码「Encode-Decode」-crx插件

    往返于二进制,八进制,十六进制,base64,HTML和URL的编码和解码。 2.哈希:MD5,SHA-1,SHA-3(256和512位)。 3.错误检查,因此您不要试图意外组合“ HTML”和“哈希”! 还要在GitHub上查看源代码! 支持语言:...

    BOM表带有可单击的图片的列表:用于任何项目的带有“物料清单”HTML文件,包括可单击的图片

    此格式使用ASCII表中的64个字符“可键入和可打印”(也在屏幕上显示),因此bee可以像原始图像一样将它们直接插入到任何html文件中,作为二进制文件的有效编码。 为了为此目的创建HTML-(BOM-)文件,我修改了Eagle...

    PHP程序开发范例宝典III

    实例036 在下拉菜单中显示数组中的元素 51 实例037 级联菜单的应用 52 实例038 修改数据时下拉列表的默认值为数据库中原数据信息 54 实例039 可输入字符的下拉菜单 56 实例040 应用下拉列表选择所要联机的...

    asp.net知识库

    常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0中,让你的组件也可以绑定 .NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN...

    Oracle P/L SQL实现发送Email、浏览网页等网络操作功能

    ab_Inline in Boolean Default False --True将文本内容直接在邮件内容显示出来,并出现在附件中,False不显示只出现在附件中 ); -----------------自动签名的生成,签名生成显示后还出现此签名文件为附件...

    常用工具(ToolBox)-crx插件

    域名的WHOIS查询* 常用的二进制、八进制、十进制、十六进制之间转换* DNS查询* 二维码生成* 在线翻译* 随机数生成[更新]* 更新界面UI* ip地址查询问题v2.0.x[新增]* Unix时间戳转换* URL编码/解码转换* 汉字转换拼音...

    java-servlet-api.doc

    这个对象在Servlet引擎中执行,并允许Servlet通过它获处相关参数。这个对象使得Servlet能够访问ServletContext对象。 Servlet处理请求\r Servlet被初始化之后,它已经可以处理来自客户端的请求,每一个来自客户端的...

    passy:密码实用程序包装器

    baseURL baseURL是一种简单的编码方案,其中每个字符代表64个值,这些值可在URL中安全工作,即(0-9a-zA-Z-_)。 每个ASCII字符编码6个二进制位。 输入的二进制数字必须可被6整除; 与base64不同,没有编码可变长度...

    gotestwaf:Go Test WAF是一种工具,可针对各种类型的攻击和绕过技术来测试您的WAF检测功能

    由于它是YAML字符串,因此如果您想访问 ,请使用二进制编码。 编码器 该工具应将数据编码器应用于有效载荷。 Base64,JSON Unicode(\ u0027代替')等。 占位符 HTTP请求中应编码有效负载的位置。像URL参数,URI,...

    javascript入门笔记

    调用:在JS中任何的合法位置处,都可以通过 函数名() 的方式进行调用 练习: 1、声明一个函数,名称为 change 2、在函数中 1、通过弹框,分两次,录入两个数字,保存在 a 和 b 2、先打印 a 和 b的值 3、如果...

    C#编程经验技巧宝典

    58 &lt;br&gt;0081 文本中首字母改为大写 59 &lt;br&gt;0082 C#随机数的产生 59 &lt;br&gt;0083 身份证从15位升至18位算法 60 &lt;br&gt;0084 十进制数转二进制数的算法 60 &lt;br&gt;0085 十进制数转八进制数的算法 61...

    Excel公式与函数大辞典.宋翔(带书签高清文字版).pdf

    本书采用理论与实践相结合的方式,提供了457 个案例,涉及多个行业,读者可以根据书中的案例举一反三,将其直接应用到实际工作中,有效提高学习效果与实际应用能力。 本书既可以作为函数速查工具手册,又可以作为...

Global site tag (gtag.js) - Google Analytics