Simply saving the ArrayBuffer should "just work". I believe it does in all current IndexedDB implementations.
I.e. something like:
var trans = db.transaction("mystore", IDBTransaction.READ_WRITE); // or "readwrite"
trans.objectStore("mystore").put(myArrayBuffer, "mykey");
Finding that this is defined by specifications is... challenging... to say the least. But it goes something like this:
- IndexedDB uses the "structured clone" definition for all stored data.
- "structured clone" is defined in the HTML5 specification and mentions a lot of data types native to Javascript and a few other types like Files and Blobs.
- The ArrayBuffer specification from Khronos defines ArrayBuffers and specifies that the HTML5 definition of "structured clone" should be changed to also clone ArrayBuffers.
Yeah, I know, I wouldn't have found it either.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…