千家信息网

HTML5中的Blob对象的使用方法

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关HTML5中的Blob对象的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。HTML5中的Blob对象和MYSQL中
千家信息网最后更新 2026年10月31日HTML5中的Blob对象的使用方法

这篇文章将为大家详细讲解有关HTML5中的Blob对象的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

HTML5中的Blob对象和MYSQL中的BLOB类型在概念上是有点区别的。MYSQL中的BLOB类型就只是个二进制数据容器。而HTML5中的Blob对象除了存放二进制数据外还可以设置这个数据的MINE类型,这相当于对文件的储存,其它很多二进制对象也是从这个对象继承的。
  在稍低版本的现代浏览器中,这个Blob对象还没规范化,因此需要BlobBuilder之类的方式来创建。但是现在Blob已经规范到可以直接new它的构造器Blob来创建了,而且浏览器几乎都已经支持了这个方式,所以对于旧标准咱就没必要纠结了。

CSS Code复制内容到剪贴板

var data='次碳酸钴';   var blob=new Blob([data],{"type":"text/html"});   console.log(blob);


这样我们就创建了一个Blob对象,注意Blob这个构造器的参数比较诡异,第一个参数是一组数据,所以必须是数组,即使像上面的例子一样只有一个字符串也必须用数组装起来。第二个参数是对这一Blob对象的配置属性,目前也只有一个type也就是相关的MIME需要设置,使用key-value的方式也许是为了今后的扩展。
  那么,把数据做成Blob有什么用呢?对于Blob对象,我们可以创建出一个URL来访问它。使用URL对象的createObjectURL方法。

CSS Code复制内容到剪贴板

var data='次碳酸钴';   var blob=new Blob([data],{"type":"text/html"});   onload=function(){     var iframe=document.createElement("iframe");     iframe.src=URL.createObjectURL(blob);     document.body.appendChild(iframe);   };


 不仅是上面例子中的text/html,任何浏览器支持的类型都可以这么用。而且这个Blob-URL的生存周期是从创建到文档释放,不会造成资源的浪费。
  Blob是一个HTML5中很基本的二进制数据对象,很多方法的操作参数都支持使用Blob,这个我一下也列举不出。总之,几乎所有参数类型是二进制数据的方法都支持使用Blob作为参数就对了。所以把数据做成Blob可以让之后的一些列操作变得更方便。

方法

slice()

返回一个新的Blob对象,包含了源Blob对象中指定范围内的数据.

CSS Code复制内容到剪贴板

  1. Blob slice(     optional long long start,     optional long long end,     optional DOMString contentType   };

参数
start 可选
开始索引,可以为负数,语法类似于数组的slice方法.默认值为0.
end 可选
结束索引,可以为负数,语法类似于数组的slice方法.默认值为最后一个索引.
contentType 可选
新的Blob对象的MIME类型,这个值将会成为新的Blob对象的type属性的值,默认为一个空字符串.
返回值
一个新的Blob对象,包含了源Blob对象中指定范围内的数据.
注意
如果start参数的值比源Blob对象的size属性的值还大,则返回的Blob对象的size值为0,也就是不包含任何数据.


BlobPropertyBag

一个包含有两个属性type和endings的对象.
type
设置该Blob对象的type属性.
endings(已废弃)
对应于BlobBuilder.append()方法的endings参数.该参数的值可以是"transparent"或者"native".
Blob构造函数用法举例

下面的代码:

CSS Code复制内容到剪贴板

var aFileParts = ["hey!<\/b><\/a>"];   var oMyBlob = new Blob(aFileParts, { "type" : "text\/xml" }); // the blob


等价于:

CSS Code复制内容到剪贴板

  1. var oBuilder = new BlobBuilder();   var aFileParts = ["hey!<\/b><\/a>"];   oBuilder.append(aFileParts[0]);   var oMyBlob = oBuilder.getBlob("text\/xml"); // the blob


BlobBuilder接口提供了另外一种创建Blob对象的方式,但该方式现在已经废弃,所以不应该再使用了.

例子:使用类型数组和Blob对象创建一个对象URL

CSS Code复制内容到剪贴板

var typedArray = GetTheTypedArraySomehow();   var blob = new Blob([typedArray], {type: "application/octet-binary"}); // 传入一个合适的MIME类型   var url = URL.createObjectURL(blob);
  1. // 会产生一个类似blob:d3958f5c-0777-0845-9dcf-2cb28783acaf这样的URL字符串

  2. // 你可以像使用一个普通URL那样使用它,比如用在img.src上.

关于HTML5中的Blob对象的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

对象 数据 参数 方法 内容 类型 剪贴板 剪贴 二进制 属性 方式 数组 支持 例子 浏览器 索引 浏览 使用方法 中指 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 涨乐互联网科技 圆梦互联网科技 互联网 卓越科技 互联网科技素材视频竖屏 互联网科技生活的内容 济南和联互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 茂名市互联网科技产业园 全球顶尖互联网科技公司 互联网经济与金融科技 移动互联网年度科技创新 互联网企业科技类企业如何做账 广州百诚互联网科技有限公司官网 富国互联网科技002692 有人说阿里系是互联网科技企业 互联网硬科技公司 国产互联网科技公司 广西科技产业互联网是什么 陕西九四连强互联网科技有限公司 利用互联网等科技手段 互联网科技公司做什么 金融科技和互联网金融 阿里巴巴算科技企业还是互联网 湖南诚度互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 群盈汇互联网科技有限公司 互联网硬科技公司 华人运通互联网科技公司 山东亿川互联网科技有限责任公司 互联网 科技节活动 微视频大赛
0