- Использование
chrome.storage.local
- правильный путь. - Я использую этот фрагмент прямо из всплывающего окна, чтобы сохранить текстовые / json / csv файлы:
/**
* @param data {String} what to save
* @param extension {String} file extension
*/
function saveFile(data, extension = 'json') {
const fileName = `export-file.${extension}`;
const textFileAsBlob = new Blob([data], {type: 'text/plain'});
const downloadLink = document.createElement('a');
downloadLink.download = fileName;
downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
downloadLink.target = '_blank';
downloadLink.click();
return fileName;
}
Это сохранит файл на диск.И это не хакерский способ.
Обновление для # 2
Другой способ - передать URL base64 в API загрузок:
chrome.downloads.download({url: 'data:image/gif;base64,SEVMTE8gV09STEQh', filename: 'test.txt'})