js实现input file转换成blob和byte字节流

js实现input file转换成blob和byte字节流

Blob,是Binary Large Object的缩写,代表二进制类型的大对象。Blob的概念在一些数据库中有使用到,例如,MYSQL中的BLOB类型就表示二进制数据的容器。在Web中,Blob类型的对象表示不可变的类似文件对象的原始数据,通俗点说,就是Blob对象是二进制数据,但它是类似文件对象的二进制数据,因此可以像操作File对象一样操作Blob对象,实际上,File继承自Blob。

js实现input file转换成blob和byte字节流

今天我们利用FileReader来实现将file对象转换成blob或byte字节流

示例如下

document.querySelector("#videoselect").onchange = function() {
          var reader = new FileReader();
var fileByteArray = [];
reader.readAsArrayBuffer(this.files[0]);
reader.onloadend = function (evt) {
    if (evt.target.readyState == FileReader.DONE) {
       var arrayBuffer = evt.target.result,
           array = new Uint8Array(arrayBuffer);
       for (var i = 0; i < array.length; i++) {
           fileByteArray.push(array[i]);
        }
     }
   }
  };


{{collectdata}}

网友评论0