JavaScript Conversione tra Blob e ArrayBuffers


Esempio

JavaScript ha due metodi principali per rappresentare i dati binari nel browser. ArrayBuffers / TypedArrays contengono dati binari mutabili (sebbene ancora fissi) che possono essere manipolati direttamente. I BLOB contengono dati binari immutabili a cui è possibile accedere solo tramite l'interfaccia File asincrona.

Convertire un Blob in un ArrayBuffer (asincrono)

var blob = new Blob(["\x01\x02\x03\x04"]),
    fileReader = new FileReader(),
    array;

fileReader.onload = function() {
    array = this.result;
    console.log("Array contains", array.byteLength, "bytes.");
};

fileReader.readAsArrayBuffer(blob);
6

Convertire un Blob in un ArrayBuffer usando una Promise (asincrona)

var blob = new Blob(["\x01\x02\x03\x04"]);

var arrayPromise = new Promise(function(resolve) {
    var reader = new FileReader();

    reader.onloadend = function() {
        resolve(reader.result);
    };

    reader.readAsArrayBuffer(blob);
});

arrayPromise.then(function(array) {
    console.log("Array contains", array.byteLength, "bytes.");
});

Converti un ArrayBuffer o un array digitato in un Blob

var array = new Uint8Array([0x04, 0x06, 0x07, 0x08]);

var blob = new Blob([array]);