input type="file" 类型的图片文件转成base64
2017-11-03 11:55
645 查看
将input type="file" 类型的图片文件转成base64
首先定义一个类型为file的input标签还要定义一个onchange事件,并传入一个event参数。<div> <input type="file" id="imgTest" type="file" onchange="imgChange(event)" accept=".gif,.jpg,.jpeg,.png"> </div> <img src="" id="showImage" alt="">
在这个onchange事件方法中会接收一个event参数,我们可以在这个参数中拿到这个input的标签对象还可以拿到这个文件。
function imgChange(e) { console.info(e.target.files[0]);//图片文件 var dom =$("input[id^='imgTest']")[0]; console.info(dom.value);//这个是文件的路径 C:\fakepath\icon (5).png console.log(e.target.value);//这个也是文件的路径和上面的dom.value是一样的 var reader = new FileReader(); reader.onload = (function (file) { return function (e) { console.info(this.result); //这个就是base64的数据了 var sss=$("#showImage"); $("#showImage")[0].src=this.result; }; })(e.target.files[0]); reader.readAsDataURL(e.target.files[0]);
拓展 : 把页面中的图片变成base64的数据
<!--这里先搞上一张图片--> <img id="img" src="/img/my.jpg" alt="" style="width: 150px;height: 150px"> <input type="button" onclick="imgChaneBase64()" value="img标签绘制到canvas" /><br /> <!--引入html2canvas--> <script type="text/javascript" src="/lib/html2canvas/html2canvas.js"></script> <script type="text/javascript"> function imgChaneBase64() { //将要变成base64的图片的html标签当参数传进来,这里如果将document传进来,就会将整个页面变成图片,在then中会返回一个canvas html2canvas(document.getElementById("img")).then(function(canvas) { console.info(canvas); var imgData = canvas.toDataURL("image/png"); //这里会将canvas转化为base64的数据 document.body.appendChild(canvas); //页面鼠标右击这个标签时会提示保存图片,保存之后会以png格式保存 }); } </script>
这里要注意的是这种方法其实利用的是截屏的原理,将html内容变成base64的,故其实不是真的将这个图片变成base64。
相关文章推荐
- 将input type="file" 类型的图片文件转成base64
- 将input type="file" 类型的图片文件转成base64
- <input type="file" />浏览时只显示指定文件类型
- <input id="File_Audio" type="file" /> 一步到位上传图片、音频等文件
- <input type="file" />浏览时只显示指定文件类型
- s 获取input type="file" 选择的文件大小、文件名称、上次修改时间、类型等信息
- Android学习之实现WebView中input="file"选择文件,处理选择图片无法返回类型问题
- input file控件限制上传文件类型 网页上添加一个input file HTML控件: 1 <input id="File1" type="file" /> 默认是这样的,所有文件类
- <input type="file" />浏览时只显示指定文件类型
- <input type="file">定义样式并获取上传文件路径及指定文件类型
- input type="file"指定文件类型为excel
- js 获取input type="file" 选择的文件大小、文件名称、上次修改时间、类型等信息
- <input type="file">定义样式并获取上传文件路径及指定文件类型
- <input type="file" />浏览时只显示指定文件类型
- <input type="file" >判断上传的文件是zip和rar类型
- WebView支持<input type="file">调起本地文件,获取图片
- <input type="file" />浏览时只显示指定文件类型
- js 获取input type="file" 选择的文件大小、文件名称、上次修改时间、类型等信息
- input type="file" 在js中判断文件上传类型
- input type="file" 上传文件,若是flv格式,则截取保存一张图片asp.net