Подтвердить что ты не робот

Какая разница между BlobBuilder и новым конструктором Blob?

W3 объявил, что они намерены отказаться от BlobBuilder API, предпочитая новый Blob API.

Если я уже использую BlobBuilder в приложении JavaScript, как я могу конвертировать в этот новый API Blob? Старый WebKitBlobBuilder по-прежнему доступен в последней версии WebKit (и Chrome Canary), но вскоре будет удален. Прежде чем вы сможете написать что-то вроде этого:

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

Как это можно было бы переписать для использования нового конструктора Blob? Спасибо.

4b9b3361

Ответ 1

Передача ArrayBuffer в конструктор Blob выглядит устаревшей, поэтому:

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

Ответ 2

Из того, что спецификация говорит, что это должно быть так просто. Просто проверьте примеры опубликованной страницы.

var blob = new Blob(arrayBuffer);

[Constructor, Constructor ((ArrayBuffer или Blob или DOMString)

Ответ 3

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