深入解析HTML5中的Blob对象的使用

2020-04-24 19:22:41易采站长站整理

  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 = ["<a id="a"><b id="b">hey!</b></a>"];   
var oMyBlob = new Blob(aFileParts, { "type" : "text/xml" }); // the blob  

 
等价于:

CSS Code复制内容到剪贴板

var oBuilder = new BlobBuilder();   
var aFileParts = ["<a id="a"><b id="b">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);   
// 会产生一个类似blob:d3958f5c-0777-0845-9dcf-2cb28783acaf这样的URL字符串   
// 你可以像使用一个普通URL那样使用它,比如用在img.src上.