read()
потребляет. Таким образом, вы можете сбросить файл или искать до начала перед повторным чтением. Или, если он выполняет вашу задачу, вы можете использовать read(n)
для использования только n
байтов.
Прежде всего вы должны попытаться кэшировать только те ресурсы, которые необходимы для вашего PWA. Однако, если вы хотите хранить большие файлы, я бы посоветовал вам использовать API IndexDB.
IndexedDB - это низкоуровневый API для хранения на стороне клиента значительных объемов структурированных данных, в том числе файлов / больших двоичных объектов. Этот API использует индексы для обеспечения высокопроизводительного поиска этих данных. Хотя веб-хранилище полезно для хранения небольших объемов данных, оно менее полезно для хранения больших объемов структурированных данных. IndexedDB предоставляет решение.
Почему IndexDB?
Когда квота превышает в IndexedDB API, ошибка вызывает функцию onabort () транзакции с Event в качестве аргумента.
Когда браузер запрашивает у пользователя разрешение на увеличение размера хранилища, все браузеры вызывают эту функцию только тогда, когда пользователь не разрешает ее, в противном случае продолжайте транзакцию.
Если вы хотите узнать о других возможных БД, я бы предложил вам перейти по этой ссылке https://www.html5rocks.com/en/tutorials/offline/quota-research/