【javascript】arrayBuffer对象的理解

最近一直突然学习了一些关于本地存储的知识,然后发现网络上有些可以将图片存储到本地, 使用的是indexedDB 存储介质, 而存储的类型为arrayBuffer,于是找了一些学习arrayBuffer的优秀的博客做了一个整理。

张鑫旭 :  ”理解数据类型 “ 博客介绍

MyMichael:  ”ArrayBuffer类型化数组 “博客介绍

http://blog.csdn.net/lichwei1983/article/details/43893025

ArrayBuffer 主要是存储2进制数据,类似于0101的这种格式,而我们对这种类型的数据源是无法进行修改的。

下面是我的理解,首先我们先使用ajax将远程的二进制读取出来

    
var request = new XMLHttpRequest();
    request.open('GET', '/images/demo.jpg', true);
    request.responseType = 'arraybuffer'; // 响应类型为 ArrayBuffer

    // 将数据存储到 indexedDB中
    request.addEventListener('readystatechange', function() {
        if (request.readyState === 4) { // readyState DONE

            var blob = new Blob(request.response),  //将arrayBuffer转成2进制blob
                imageURI = window.URL.createObjectURL(blob), // 生成 本地资源URI对象
                img  = new Image();
            img.src = imageURI;
            document.documentElement.appendChild(img); // 附加在body元素下
        }
    });

     request.send(null);

可以接受  二进制的图片文件类型,也可以传输二进制的ArrayBuffer。

var request = new XMLHttpRequest(),
    data     = new Int32Array([1024,4096,8192]);
request.open("POST","xxx",true);
request.send(data.buffer);


ArrayBuffer类型会作为一个固定的内存空间被开辟出来,会很好的进行计算处理



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值