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 相关文章推荐
JavaScript 应用技巧集合[推荐]
Aug 30 Javascript
jQuery 操作option的实现代码
Mar 03 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
Nov 30 Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
Angular1.x自定义指令实例详解
Mar 01 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
Apr 12 Javascript
详解vue axios中文文档
Sep 12 Javascript
微信小程序实现添加手机联系人功能示例
Nov 30 Javascript
Vue实现购物车详情页面的方法
Aug 20 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
javascript实现playfair和hill密码算法
2014/12/07 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
简单了解Python3里的一些新特性
2019/07/13 Python
python os.fork() 循环输出方法
2019/08/08 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
接口的多继承会带来哪些问题
2015/08/17 面试题
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
白酒市场营销方案
2014/02/25 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
安全协议书范本
2014/04/21 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
分家协议书范本
2016/03/22 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL