HTML5 IndexedDB — как объединить все записи в одну

Моя идея - загрузить куски огромного файла с сервера.

  1. Чанки хранятся в IndexedDB.

  2. После загрузки всех чанков объедините все записи в одну (как SQL SELECT * FROM XXX...).

  3. Сохраните на диск "saveAs()" или создайте URL для IndexedDB...

(Или любая идея?)

Я не знаю, как сделать шаг 2. и 3.

(Ниже приведен пример хранения 10 000 записей в БД, и ожидаемый результат после шага 2 должен быть SusanSusanSusanSusanSusan...)

if (transaction) {
    transaction.oncomplete = function () {
    }
    transaction.onabort = function () {
        writeToConsoleScreen("transaction aborted.");
        localDatabase.db.close();
    }
    transaction.ontimeout = function () {
        writeToConsoleScreen("transaction timeout.");
        localDatabase.db.close();
    }
    var store = transaction.objectStore(osTableName);
    if (store) {
        var req;
        var customer = {};                   
       // create ten thousand records
       for (var loop = 0; loop < 10000; loop++) {
            customer = {};
            customer.fname = 'Susan';
            req = store.add(customer);
            req.onsuccess = function (ev) {
            }
            req.onerror = function (ev) {
                writeToConsoleScreen("Failed to add record." + "  Error: " + ev.message);
            }
        }     
    }
}

person bedna    schedule 15.07.2014    source источник
comment
В: Какой самый страшный кошмар разработчика? A: Когда вы ищете решение проблемы, вы находите вопрос StackOverflow, задающий именно то, что вы ищете. Вопрос был задан год назад, и никто еще не ответил! Я не думаю, что это невозможно. Mega.nz уже реализовал это. Я все еще пытаюсь понять, как они это сделали.   -  person Burhan Uddin    schedule 15.01.2015