js获取图片的base64编码并压缩


Posted in Javascript onDecember 05, 2020

获取图片的base64编码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="gbk">
    <title></title>
  </head>
  <body>
    <input accept="image/*" name="upimage" id="upload_file" type="file" onchange="gen_base64()">

 <br/>
    <textarea id="base64_output" name="Word" style=" width:820px"></textarea>


 <br/>


 <img src="" id="myImg" />
    <script type="text/javascript">
      function $_(id) {
          return document.getElementById(id);
      }
      function gen_base64() {
        var file = $_('upload_file').files[0];
        r = new FileReader(); //本地预览
        r.onload = function(){
          $_('base64_output').value = r.result;






 $_('myImg').src= r.result;
        }
        r.readAsDataURL(file);  //Base64
      }
    </script>
  </body>
</html>

案例2:js压缩图片

<html>
 <body>
 <script>
 function getUrl(fil) {
      var Cnv = document.getElementById('myCanvas');
      var Cntx = Cnv.getContext('2d');//获取2d编辑容器
      var imgss =  new Image();//创建一个图片
      var agoimg=document.getElementById("ago");
    
      for (var intI = 0; intI < fil.length; intI++) {//图片回显
        var tmpFile = fil[intI];
        var reader = new FileReader();
        reader.readAsDataURL(tmpFile);
        reader.onload = function (e) {
          url = e.target.result;
          imgss.src = url;
          agoimg.src=url;
          agoimg.onload = function () {
            //等比缩放
            var m = imgss.height / imgss.width;
             Cnv.width = 300 ;//该值影响缩放后图片的大小
             Cnv.height =300*m;
             
            //img放入画布中
            Cntx.drawImage(agoimg, 0, 0,300,300*m);
                     
//把画布中的数据,写出到某img的src里
            var Pic = document.getElementById("myCanvas").toDataURL("image/png");
            var imgs =document.getElementById("press");
            imgs.src =Pic ;
          }
        }
      }
    }
    
</script>
<input type="file" id="fileId" name="fileId" value="上传图片" hidefocus="true" onchange="getUrl(this.files);"/>   <br/>
<canvas id="myCanvas"   style="display: block" ></canvas>
old img::<img src="" alt="" id="ago" style="width: 500px;"/>
new img::<img src="" alt="" id="press"/>
</body>
</html>

效果图

js获取图片的base64编码并压缩

以上就是js获取图片的base64编码并压缩的详细内容,更多关于js 图片base64编码的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 Javascript
jQuery滚动加载图片效果的实现
Mar 06 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
vue组件的写法汇总
Apr 12 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
Vue $mount实战之实现消息弹窗组件
Apr 22 Javascript
TypeScript 运行时类型检查补充工具
Sep 28 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 #Javascript
可拖拽组件slider.js使用方法详解
Dec 04 #Javascript
js实现复制粘贴的两种方法
Dec 04 #Javascript
echarts浮动显示单位的实现方法示例
Dec 04 #Javascript
JavaScript中条件语句的优化技巧总结
Dec 04 #Javascript
三剑客:offset、client和scroll还傻傻分不清?
Dec 04 #Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 #Javascript
You might like
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
php面向对象值单例模式
2016/05/03 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
newxtree.js代码
2007/03/13 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
flask实现验证码并验证功能
2019/12/05 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python ini文件常用操作方法解析
2020/04/26 Python
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
投标保密承诺书
2014/05/19 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
仲裁协议书
2014/09/26 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
银行员工考核评语
2014/12/31 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
redis 查看所有的key方式
2021/05/07 Redis
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android