Итак, у меня есть скрипт в расширении Chrome, который я создаю, который захватывает данные, обрабатывает их и сохраняет в Chrome's storage. Довольно стандартный материал.Сохраните строку base64 в chrome.storage
// a property of the incoming 'data' object is `base64`
// which contains the base64 string we are trying to save
chrome.storage.local.set({'data': data}, function(){
console.log('Saved settings to localStorage!');
});
Проблема в том, что часть объекта данных, которую я пытаюсь сохранить, является базой64 изображения. Попытка сохранить это приводит к ошибке «QUOTA_BYTES», что указывает на то, что то, что я пытаюсь сохранить, слишком велико.
Моя следующая мысль была попробовать и порций данных прочь, через что-то вроде этого:
chunkBase64 = function(base64){
var a = base64.match(/.{1,4}/g),
o = {};
a.forEach(function(val,i){
o[''+i] = val;
});
return o;
};
..which по существу только разбивает его на куски и сохраняет эти кусочки в объект, который я тогда попытка добавить в chrome.storage. Это также терпит неудачу.
Я также пробовал использовать стандарт localStorage только для того, чтобы сохранить base64, но это также не работает/не работает, потому что оно слишком велико (?).
WOW Я чувствую себя настолько немым. Да, я вижу, что [в документации] (https://developer.chrome.com/extensions/storage) спасибо! –
Происходит к лучшему из нас. – Xan