将图片转成base64 小工具
2015-09-09 18:40
387 查看
工作需要使用,所以就做了一个小工具,方便使用
推荐使用 chrome,ff 。 毕竟是个小工具方便自己使用而已,所以没有做浏览器兼容测试了!
代码如下,直接保存为 .html 打开即可
推荐使用 chrome,ff 。 毕竟是个小工具方便自己使用而已,所以没有做浏览器兼容测试了!
代码如下,直接保存为 .html 打开即可
<!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>ImgToBase64</title> <style> body{margin:0px; background-color:#FFF} </style> </head> <body> <canvas id="can" style="top:0px; left: 0px;" width="100" height="100"></canvas> <textarea id="code" style="width:600px; height:200px;"></textarea> <input id="uImg" type="file" name="file" accept="image/*" style="left:0px; top:0px;width:300px; height:100px;opacity:1;"> </body> <script> var img,canvas,c2d inIt() function inIt() { canvas = document.getElementById("can"); if (canvas == null){alert("请使用支持'HTML5 CANVAS'的浏览器!");return;} c2d = canvas.getContext("2d"); // document.getElementById("uImg").addEventListener("change",function(e) { var files = e.target.files, file; if (files && files.length > 0) { // 获取目前上传的文件 file = files[0]; // 来在控制台看看到底这个对象是什么 console.log(file); // 那么我们可以做一下诸如文件大小校验的动作 if(file.size > 1024 * 1024 * 2) { alert('图片大小不能超过 2MB!'); return false; } var URL = window.URL || window.webkitURL; var imgURL = URL.createObjectURL(file); // coding(imgURL) } }); } function coding(_str) { if(!img){img=new Image()} img.onload = function () { if(img.width==0){c2d.clearRect(0,0,imgW.width,imgH.height);} canvas.width=img.width canvas.height=img.height c2d.drawImage(img, 0,0, img.width, img.height); // var _base64=canvas.toDataURL("image/png"); console.log(_base64.length) if(_base64.length>100000) { document.getElementById("code").innerHTML="图片数据较大,避免电脑卡死已自动隐藏字符串" } else { document.getElementById("code").innerHTML=_base64 } } img.src=_str } </script> </html>
相关文章推荐
- C/C++ 指针数组、二维数组
- IOS设置button 图片 文字 上下、左右
- C++ inline weak symbol and so on
- java 数据结构一 之栈
- 关于Cassandra的错误观点
- Extjs 学习(一) 选择器
- Sequential Monte Carlo Methods
- 结队编程的好与坏
- wxWidgets显示视频
- 黑马程序员_java04_单例设计模式
- 今天会用了正则表达式
- java生成二维码
- 李航博士的《浅谈我对机器学习的理解》 机器学习与自然语言处理
- 简单工厂模式
- iOS-runtime-根据协议名调某一个类有与协议里面放的相同的方法
- WebStorm 的使用(一)
- Windows Server 2016 技术预览 Hyper-V 新特性
- PullToRefreshListView 应用讲解
- IOS-跳转到设置页
- 椭圆识别