zoukankan      html  css  js  c++  java
  • 二进制数组

    ES6中二进制数组包括:

    ArrayBuffer对象

    TypedArray视图

    DataView视图

    ArrayBuffer对象代表原始的二进制数据,TypeArray视图用来读写简单类型的二进制数据,DataView视图用来读写复杂类型的二进制数据。

    二进制数组主要存放 图片、视频、声音、文件等等,将其作为二进制方式存储在数组里面

    以ArrayBuffer对象为例:

    <input type="file" name="fileInput" id="fileInput" v-on:change='showImg' />
    <img :src="buffer" />
    
    <script>
      function arrayBufferToBase64(buffer){
        var binary = '';
        var bytes = new Uint8Array(buffer);
        var len = bytes.byteLength;
        for(var i=0;i<len;i++){
          binary += String.fromCharCode(bytes[i]);
        }
        return window.btoa(binary);    // 返回字符串
      }
      var thisa;  // 定义一个thisa用于传输
      export default {
        name: 'hello',  // 变量的name是hello
        data() {
          studyES6();
          return {
            buffer: 'data:image/png;base64,',
            msg: '欢迎 to Your Vue.js App',
          }
        },
        created () {  // 页面全部渲染完毕后调用
          thisa = this;  // 此处的this表示default这个对象,所以可以通过thisa访问buffer
        },
        methods: {  // 定义方法
          showImg: function(){
            var fileInput = document.getElementById('fileInput');
            var file = fileInput.files[0];  // 获取文件对象
            var reader = new FileReader();  // 读取文件
            reader.readAsArrayBuffer(file);  // 将reader转为ArrayBuffer对象
            reader.onload = function(){
              var arrayBuffer = reader.result;   // reader.result.toByteArray;
              let arrayBase = arrayBufferToBase64(arrayBuffer);  // 将arrayBuffer转成字符串
              thisa.buffer = 'data:image/png;base64,' + arrayBase;
            }
          }
        }
      }
      function studyEs6(){
    
      }
    </script>

    实例:

  • 相关阅读:
    listctrl中的cell如何支持被复制
    Can not issue data manipulation statements with executeQuery()的解决方案
    Jenkins工具学习(一)
    如何对图片进行测试
    WebDriver常用的api
    Cannot get a STRING value from a NUMERIC cell问题的解决办法
    Eclipse中安装springmvc插件
    Tomcat 的端口被占用的解决办法
    pyCharm最新激活码(2018激活码)
    Error: Error occured while starting App. Original error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity
  • 原文地址:https://www.cnblogs.com/crazycode2/p/6685795.html
Copyright © 2011-2022 走看看