js实现input file转换成blob和byte字节流
Blob,是Binary Large Object的缩写,代表二进制类型的大对象。Blob的概念在一些数据库中有使用到,例如,MYSQL中的BLOB类型就表示二进制数据的容器。在Web中,Blob类型的对象表示不可变的类似文件对象的原始数据,通俗点说,就是Blob对象是二进制数据,但它是类似文件对象的二进制数据,因此可以像操作File对象一样操作Blob对象,实际上,File继承自Blob。
今天我们利用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]); } } } };
网友评论0