文档章节

JSP--Base64图片字符串转图片

ifanjiaxin
 ifanjiaxin
发布于 2016/06/23 12:51
字数 443
阅读 281
收藏 1
点赞 0
评论 2

                                         Base64图片字符串转图片

                    一,问题描述

                              也许是很久很久没有去研究 HTML 了吧,很早前就已经流行 HTML5 了,这让我这个

                        小小白,都不知道咋玩耍了,今天我们来记录下,如何在页面把一个图片的 Base64编码

                        字符串还原成图片

                    二,解决方案

                             我们都知道在HTML中读取一个图片可以直接在 src属性 写图片地址,也可以写二进制流

                             1,直接写地址

                             <img src="http://www.baidu.com/test.png"/>

                            当然啦,这个图片地址不存在,是我瞎编的,这里仅仅只是演示这种写法

                            2,写二进制流

                            假设,你的服务端是Java开发的,然后提供了一个接口来获取图片的二进制流,我们可

                            以写成如下

                            <img src="your java server interface addr"/>

                            3,就是我们今天要说的Base64编码的图片字符串,加入现在你调别人的接口或者你通

                        过在线工具将一张图片编码为Base64的了,那在HTML如何还原呢??请看

                          <img src="data:image/jpeg;charset=utf-8;base64,your base64 code string"/>

                           注意:

                                1,前面这段固定字符串是必须且固定的,你要告诉img元素如何去还原 

                                2,图片格式可以改,比如将 image/jpeg 变为 image/png ...

                                3,你的Base64编码的字符串里面不能含有转义符号,因为小白这次就被坑了,我从

                        别的服务器那里得到的Base64字符串就是含有 "\" 这个转义字符的,所以我把它直接填到

                        上面对应的地方时,浏览器不识别会报如下错误

                                

 

© 著作权归作者所有

ifanjiaxin
粉丝 29
博文 54
码字总数 16699
作品 0
徐汇
程序员
加载中

评论(2)

ifanjiaxin
ifanjiaxin

引用来自“鸾飞南天门”的评论

貌似微信网页版的扫码登录就是用的这样的,扫码以后,头像就是以base64返回的。
好像是的,微信不太清楚,我这个是针对实名认证(公安部)返回的东西,进行还原显示的需求,哈哈!
鸾飞南天门
鸾飞南天门
貌似微信网页版的扫码登录就是用的这样的,扫码以后,头像就是以base64返回的。
Java里使用patchca生成验证码

Patchca是Piotr Piastucki写的一个java验证码开源库,打包成jar文件发布,patchca使用简单但功能强大。 本例实现了自定义背景,由于生成图片较小,波动太大时会导致部分文字显示不全,所以更...

easonwang
2014/04/14
0
0
使用barcode4j生成条形码

浏览器都支持svg格式,也不是所有的浏览者都愿意给自己的浏览器加一个这样的插件)

again-Y
2013/09/06
0
0
JAVA编程导入Word文件到数据区域,实现多个word文件合并

在开发项目时,如何通过后台编程把多个Word文档合并到一起呢,这就需要借助PageOffice开发平台中的数据区域了。 具体实现步骤如下: 第一步:拷贝文件到WEB项目的“WEB-INF/lib”目录下。拷贝...

yert
2013/04/24
0
0
springMVC对静态资源访问的处理

在restful 风格下springMVC会进行如下配置 <servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param>......

-wangming-
2015/05/16
0
1
springMVC参数传递(三)

第一步:web.xml文件是一个工程必不可少的配置文件。 xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app25.xsd"xsi:schemaLocation="http:......

待期
2013/12/06
0
3
监控平台cacti+nagios集成短信平台

这几天运维的同事提了一个需求:生产的监控平台cacti+nagios目前通过网络上流行的飞信接口对接,当服务器有问题,会及时发送短信通知。但是用飞信发短信很不稳定,几乎每天都需要换校验码才行...

大漠过客
2013/07/17
0
0
springMVC参数传递(一)

第一步:web.xml文件是一个工程必不可少的配置文件。 xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app25.xsd"xsi:schemaLocation="http:......

待期
2013/12/06
0
0
Servlet3.0.1与dojo实现图片AJAX上传与下载,附lastmodified实现

开发环境 tomcat8, eclipse+maven,dojo1.9 Maven项目 首先需要生成一个webapp的maven项目。本次开发用到了tomcat的servlet api, jsp api以及jstl,因此需要在pom.xml中声明所需的依赖。为了不...

xpbug
2014/03/15
0
0
JavaWeb22-HTML篇笔记

第22章WEB22-网上商城实战篇 今日任务 Ø 完成后台的功能模块 1.1 网上商城的后台功能的实现:1.1.1 后台的功能的需求: 1.1.1.1 分类管理: 【查询所有分类】 在左侧菜单页面中点击分类管理: 提...

我是小谷粒
06/08
0
0
springMVC参数传递(二)

第一步:web.xml文件是一个工程必不可少的配置文件。 xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app25.xsd"xsi:schemaLocation="http:......

待期
2013/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
13
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部