限时优惠活动
亲爱的苦力吧用户,我们为了回馈新老用户一直以来的鼎力支持,即日起(2025-02-06至2025-03-06)凡是购买苦力吧VIP/充值K币的新老用户,都直接可获得买一送一的优惠馈赠。例如:购买一个月的VIP会员可直接获得两个月的VIP会员;充值100K币可直接获得200K币,以此类推!有任何疑问可联系在线客服,感谢各位用户对苦力吧素材的信任与厚爱,我们将一如既往的给大家上新更多优质的素材源码,祝大家开工大吉、工作顺利、心想事成。

javascript实现的将上传图片转换为base64格式代码

所属分类: 网页特效-实用工具    2024-02-02 11:59:11

javascript实现的将上传图片转换为base64格式代码 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

javascript实现的将上传图片转换为base64格式代码(共3个文件)

    • index.html

使用方法

  • code
  • source
  1. var img2data = (function() {
  2. 'use strict';
  3. return {
  4. // this.qS(foo)
  5. qS: function(el) {
  6. return document.querySelector(el);
  7. },
  8. run: function() {
  9. this.convert();
  10. },
  11. convert: function() {
  12. // vars
  13. var fls = this.qS('#files'),
  14. output = this.qS('.output'),
  15. overlay = this.qS('.overlay'),
  16. close_overlay = this.qS('.close_overlay');
  17. fls.addEventListener('change', function(e) {
  18. var file = fls.files[0],
  19. txtType = /text.*/, // all text files
  20. imgType = /image.*/, // all image files
  21. fR = new FileReader(); // fileReader start
  22. fR.onload = function(e) {
  23. // if text
  24. if (file.type.match(txtType)) {
  25. var rS = fR.result,
  26. // template
  27. render = '<a class="btn" href="'+rS+'" target="blank">输出</a><ul>'+
  28. '<li><b>Name: </b> '+file.name+'</li>'+
  29. '<li><b>Size: </b> '+file.size+'</li>'+
  30. '<li><b>Type: </b> '+file.type+'</li>'+
  31. '<li><b>Data uri: </b></li>'+
  32. '</ul>'+
  33. '<pre class="textarea">'+rS+'</pre>';
  34. output.innerHTML = render;
  35. // if image
  36. } else if(file.type.match(imgType)) {
  37. var rS2 = fR.result,
  38. // template
  39. tmpl = '<a class="btn" href="'+rS2+'" target="blank">输出</a>'+
  40. '<img class="thumb" src="'+rS2+'" alt="'+file.name+'"><ul>'+
  41. '<li><b>名称: </b> '+file.name+'</li>'+
  42. '<li><b>大小: </b> '+file.size+'</li>'+
  43. '<li><b>类型: </b> '+file.type+'</li>'+
  44. '<li><b>URI数据: </b></li>'+
  45. '</ul>'+
  46. '<pre class="textarea">'+rS2+'</pre>';
  47. output.innerHTML = tmpl;
  48. // if not support
  49. }else{
  50. output.innerHTML = '<h1>很抱歉,您上传的文件不支持</h1>';
  51. }
  52. };
  53. // on loaded add events
  54. fR.onloadend = function(e) {
  55. overlay.classList.add('show'); // add class
  56. close_overlay.onclick = function(){
  57. overlay.classList.remove('show'); // remove class
  58. fls.value = ''; // remove files
  59. };
  60. };
  61. // convert to data uri
  62. fR.readAsDataURL(file);
  63. });
  64. }
  65. };
  66. })();
  67. img2data.run();
var img2data = (function() {
  'use strict';
  return {
    // this.qS(foo)
    qS: function(el) {
      return document.querySelector(el);
    },
    run: function() {
      this.convert(); 
    },
    convert: function() {
      // vars 
      var fls = this.qS('#files'),
          output = this.qS('.output'),
          overlay = this.qS('.overlay'),
          close_overlay = this.qS('.close_overlay');
      
      fls.addEventListener('change', function(e) {
        var file = fls.files[0],
            txtType = /text.*/, // all text files
            imgType = /image.*/, // all image files
            fR = new FileReader(); // fileReader start
        
        fR.onload = function(e) {
          // if text 
          if (file.type.match(txtType)) {
            var rS = fR.result,
                // template 
                render = '<a class="btn" href="'+rS+'" target="blank">输出</a><ul>'+
                  '<li><b>Name: </b>  '+file.name+'</li>'+
                  '<li><b>Size: </b>  '+file.size+'</li>'+
                  '<li><b>Type: </b>  '+file.type+'</li>'+
                  '<li><b>Data uri: </b></li>'+
                '</ul>'+
                '<pre class="textarea">'+rS+'</pre>';
            output.innerHTML = render; 
          // if image
          } else if(file.type.match(imgType)) {
            var rS2 = fR.result,
                // template
                tmpl = '<a class="btn" href="'+rS2+'" target="blank">输出</a>'+
                '<img class="thumb" src="'+rS2+'" alt="'+file.name+'"><ul>'+
                  '<li><b>名称: </b>  '+file.name+'</li>'+
                  '<li><b>大小: </b>  '+file.size+'</li>'+
                  '<li><b>类型: </b>  '+file.type+'</li>'+
                  '<li><b>URI数据: </b></li>'+
                '</ul>'+
                '<pre class="textarea">'+rS2+'</pre>';
            output.innerHTML = tmpl;
           // if not support
          }else{
            output.innerHTML = '<h1>很抱歉,您上传的文件不支持</h1>';
          }
        };
        
        // on loaded add events
        fR.onloadend = function(e) {
          overlay.classList.add('show'); // add class
          close_overlay.onclick = function(){
            overlay.classList.remove('show'); // remove class
            fls.value = ''; // remove files
          };
        };  
        // convert to data uri
        fR.readAsDataURL(file); 
      });
    }
  };
})();

img2data.run();

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 实用工具

jquery简易版在线计算器插件

一款简单的在线计算器插件,可用于加法、减法、乘法和除法等基本运算。
  实用工具
 3334  0

javascript在线网速测试实用工具

一款在线网速评测代码,点击“开始”按钮将会从指定的URL下载图片,并实时计算你的文件下载速度,并最终计算显示出你当前网络的真实速度。
  实用工具
 9432  0

jquery自定义在线生成GUID随机字符插件

一款可自由生成随机字符的在线工具,可生成v4格式的GUID,该GUID可以用作网站或APP应用程序标识符。
  实用工具
 2357  0

jquery可连续拖拽多个DIV组元素模块插件

一款可鼠标一次拖动多个DIV元素模块插件,鼠标长按可拖拽移动到任意位置!
  实用工具
 6359  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论