刚接触到一个内联图片的概念,内联图片即使把图片文件编码成base64 看下面代码即是内联问题

代码如下:

<img src="data:image/jpeg;base64,/9j/4QqsRX..." alt="">

现有个需求:
用户头像是存的Base64,有两个方法可以将图片转成base64,一个是上传到后台,通过后台代码处理,一个是前台用js处理,下面是用js处理的例子。

通过HTML5 的 File把图片转成Base64示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>简单的html5 File测试 for pic2base64</title>
<style>
</style>
<script>
window.onload = function(){var input = document.getElementById("demo_input");var result= document.getElementById("result");var img_area = document.getElementById("img_area");if ( typeof(FileReader) === 'undefined' ){result.innerHTML = "抱歉,你的浏览器不支持 FileReader,请使用现代浏览器操作!";input.setAttribute( 'disabled','disabled' );} else {input.addEventListener( 'change',readFile,false );}
}
function readFile(){var file = this.files[0];//这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件 if(!/image\/\w+/.test(file.type)){ alert("请确保文件为图像类型");return false;}var reader = new FileReader();reader.readAsDataURL(file);reader.onload = function(e){result.innerHTML = '<img src="'+this.result+'" alt=""/>';img_area.innerHTML = '<div class="sitetip">图片img标签展示:</div><img src="'+this.result+'" alt=""/>';}
}
</script>
</head>
<body>
<input type="file" value="sdgsdg" id="demo_input" />
<br>
<textarea id="result" rows=10 cols=100></textarea>
<p id="img_area"></p>
</body>
</html>

整理上面代码,实现点击img选择图片,然后显示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>简单的html5 File测试 for pic2base64</title>
<style>
</style>
<script>window.onload = function(){var input = document.getElementById("fielinput");var txshow= document.getElementById("txshow");if ( typeof(FileReader) === 'undefined' ){result.innerHTML = "抱歉,你的浏览器不支持 FileReader,请使用现代浏览器操作!";input.setAttribute( 'disabled','disabled' );} else {input.addEventListener( 'change',readFile,false );txshow.onclick = function(){ input.click();}}}function readFile(){var file = this.files[0];//判断是否是图片类型if(!/image\/\w+/.test(file.type)){ alert("只能选择图片");return false;}var reader = new FileReader();reader.readAsDataURL(file);reader.onload = function(e){ txshow.src = this.result;}}</script>
</head>
<body><input type="file" id="fielinput" style="display:none;">
<img id="txshow" style="width:100px;height:100px;"/>
</body>
</html>

JavaScript 通过HTML的FileReader把图片转成base64相关推荐

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

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

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

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

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

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

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

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

  5. elementUI压缩图片和将图片转成base64格式

    为了降低资源服务器的消耗.有些时候需要前端压缩图片,转码等一些处理. 一.Base64的优点和缺点 图片转换成base64格式的优缺点 1. 优点 (1)base64格式的图片是文本格式,占用内存小, ...

  6. js将图片转换成base64

    之前有个需求是把页面绘制成图片,上传到服务器中,我使用的 html2canvas .但是html页面当中含有图片,如果图片地址非本页面域名,在截图时就会存在跨域问题,导致截图失败.经过多方查找,发现把 ...

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

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

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

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

  9. java实现将图片读取成base64字符串,将base64字符串存储为图片。

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现将图片读取成base64字符串 ,将base64字符串存储为图片. 将图片转化为字符串以后,由于字符串更方便在网络上通过ajax传输. ...

最新文章

  1. 数据库的三大范式和事物
  2. JDK线程池的ThreadFactory
  3. 备份----硬盘对拷
  4. 分站实现php,php城市分站是什么原理
  5. 设置ASP.NET中的TextBox控件不缓存上次输入的信息
  6. 【项目管理】敏捷小品:Rupert 工业公司 项目:~Alpha~
  7. 如何在C/S下打印报表
  8. 【Python】创建数组[[0]*n]*m与[[0 for _ in range(n)] for _ in range(m)]的区别
  9. c语言指针数组课件,C语言指针与数组教程课件.ppt
  10. win10如何关闭F1~F12快捷键?
  11. 敏捷开发中提高软件生产率的方法
  12. 4.2 react patterns(转)
  13. 以太坊基础开发入门教程,完整入门【转】
  14. 用计算机软件绘制思维导图,电脑软件绘制思维导图操作教程分享
  15. 计算机管理格式化硬盘,如何将电脑硬盘格式化?笔记本硬盘格式化的操作方法...
  16. minus oracle 顺序_Minus 在oracle 中的用法
  17. html5游戏 搭积木,搭积木游戏,搭积木游戏创意名字
  18. 十月份推广,景城网也尝试使用QQ邮件群反的方式,那么如何 采集QQ邮箱地址呢?大部分是廊坊本地的。QQ导出好友 QQ导出通讯录 QQ邮箱采集 如何导出QQ好友
  19. MYSQL安装和初始化配置
  20. 微信小程序实现导航功能

热门文章

  1. SAP - MM - 第1篇 - 组织架构(介绍和创建)
  2. 上拉下拉复位SMBus
  3. scrapy爬取qq音乐
  4. 机器人中的数值优化|【二】最速下降法,可行牛顿法的python实现,以Rosenbrock function为例
  5. 技术沙龙系列之:Python 函数参数前面一个星号(*)和两个星号(**)的区别
  6. Markdown中如何插入视频 iframe?
  7. 这种Unity3D面试题目,你面的是什么岗啊?
  8. 涡轮增压matlab,车用涡轮增压进气系统消声器声学理论及应用.pdf
  9. 用科学的角度解剖算法分析
  10. 【零代码工具推荐】Max Creation Graph (MCG) 可视化图形编程工具