| 6546 | |
| 6547 | // encode a blob for indexeddb engines that don't support blobs |
| 6548 | function _encodeBlob(blob) { |
| 6549 | return new Promise(function (resolve, reject) { |
| 6550 | var reader = new FileReader(); |
| 6551 | reader.onerror = reject; |
| 6552 | reader.onloadend = function (e) { |
| 6553 | var base64 = btoa(e.target.result || ''); |
| 6554 | resolve({ |
| 6555 | __local_forage_encoded_blob: true, |
| 6556 | data: base64, |
| 6557 | type: blob.type |
| 6558 | }); |
| 6559 | }; |
| 6560 | reader.readAsBinaryString(blob); |
| 6561 | }); |
| 6562 | } |
| 6563 | |
| 6564 | // decode an encoded blob |
| 6565 | function _decodeBlob(encodedBlob) { |