BlobBuilder和新的Blob构造函数有什么区别?

时间:2012-05-02 10:54:08

标签: javascript html5 webkit w3c

W3宣布他们打算弃用BlobBuilder API而不是新Blob API.

如果我已经在JavaScript应用中使用BlobBuilder,我该如何转换为使用这个新的Blob API?旧的WebKitBlobBuilder仍然可以在最新的WebKit(和Chrome Canary)中使用,但很快就会被删除。在你写这样的东西之前:

var bb = new BlobBuilder();
bb.append(arrayBuffer);
var blob = bb.getBlob(mimeString);

如何使用新的Blob构造函数重写?谢谢。

3 个答案:

答案 0 :(得分:13)

将ArrayBuffer传递给Blob构造函数似乎已被弃用,因此:

var dataView = new DataView(arrayBuffer);
var blob = new Blob([dataView], { type: mimeString });

答案 1 :(得分:2)

从规范中说它应该就这么简单。只需查看您发布的页面示例。

var blob = new Blob(arrayBuffer);
  

[构造函数,构造函数((ArrayBuffer或Blob或DOMString)

答案 2 :(得分:1)

var blob = new Blob([arrayBuffer], {type: mimeString});