首页技术文章正文

Web前端培训:Blob对象是什么?

更新时间:2022-10-25 来源:黑马程序员 浏览量:

IT培训班

  Blob对象就是一个包含只读原始数据的类文件对象,其实File类型就派生子Blob类型,并且扩展了支持操作用户本地文件的功能。Blob对象可以直接调用构造函数来生成。

var fileParts=['<a>hey man</a>'];
var myBlob=new Blob(fileParts, { "type":"text/xml"});

  Blob对象还支持slice()方法,用于对数据进行切割:

var yourBlob=myBlob.slice(10,20);

  File对象同样继承了Blob的slice()方法,可以利用此方法对File对象预先进行分割,然后再读取、上传,最后在服务器端进行组装——异步上传的原理就是这样。如果再记住分割点,这样即使网络中途断掉,也可以在下次传输时从断点续传。

  除了都接受Blob和File对象,这些方法另外一个共同点是,由于JavaScript本身基于事件驱动,这些和平台相关的方法都是异步方法。即调用时立即返回,读取文件操作完成后再触发相应的load事件。

  除了load事件,FileReader对象还会调用这样一些事件处理程序。

  (1)onabort:当读取操作被终止时调用(调用abort方法)

  (2)onerror:当读取操作发送错误时调用。

  (3)onload:当读取操作成功完成时调用。

  (4)onloadend:当读取操作完成时调用,不管是成功还是失败,该处理程序在onload或者onerror后调用。

  (5)onloadstart:当读取操作将要开始之前调用。

  (6)onprogress:在读取数据过程中周期性调用。该事件为最有用的事件,在加载较大的文件时,可以提供一个进度条让用户知道当前加载进度,不让用户产生焦躁感。

分享到:
在线咨询 我要报名
和我们在线交谈!