你所不知道的JavaScriptAPI---FileReader、Blob、File对象

249 阅读1分钟

ArrayBuffer 对象

ArrayBuffer 对象表示一段二进制数据,用来模拟内存里面的数据。通过这个对象,JavaScript 可以读写二进制数据。这个对象可以看作内存数据的表达。

var buffer = new ArrayBuffer(8);      buffer.byteLength    // 8

var buf2 = buf1.slice(0);

Blob 对象

简介

Blob 对象表示一个二进制文件的数据内容,比如一个图片文件的内容就可以通过 Blob 对象读写。它通常用来读写文件,它的名字是 Binary Large Object (二进制大型对象)的缩写。它与 ArrayBuffer 的区别在于,它用于操作二进制文件,而 ArrayBuffer 用于操作内存

浏览器原生提供Blob()构造函数,用来生成实例对象。

new Blob(array[,options])

Blob具有两个实例属性size和type,分别返回数据的大小和类型。

读取文件FileReader()

取得 Blob 对象以后,可以通过FileReader对象,读取 Blob 对象的内容,即文件内容

FileReader 对象提供四个方法,处理 Blob 对象。Blob 对象作为参数传入这些方法,然后以指定的格式返回。

FileReader.readAsText():返回文本,需要指定文本编码,默认为 UTF-8。

FileReader.readAsArrayBuffer():返回 ArrayBuffer 对象。

FileReader.readAsDataURL():返回 Data URL。

FileReader.readAsBinaryString():返回原始的二进制字符串。

总结:

  • ArrayBuffer 对象表示一段二进制数据,通过这个对象,JavaScript 可以读写二进制数据,操作内存。
  • Blob 对象表示一个二进制文件,通过这个对象,JavaScript 可以读写二进制文件,操作二进制文件。
  • FileReader() 是HTML5文件API的重要成员,用于读取文件,可读取Blob对象内容,即文件内容

如果对你有用,希望能得到你的点赞认可~非常感谢