diff --git a/web-extension/extractHtml.js b/web-extension/extractHtml.js index 40422cb..62b6bf4 100644 --- a/web-extension/extractHtml.js +++ b/web-extension/extractHtml.js @@ -379,7 +379,8 @@ function deferredAddZip(url, filename) { extractedImages.push({ filename: filename, - data: base64ArrayBuffer(data) + isBinary: true, + data: data }); deferred.resolve(); } diff --git a/web-extension/saveEbook.js b/web-extension/saveEbook.js index 88323b1..066693d 100644 --- a/web-extension/saveEbook.js +++ b/web-extension/saveEbook.js @@ -169,15 +169,22 @@ function _buildEbook(allPages, fromMenu=false) { ); /////////////// - var imgsFolder = oebps.folder("images"); - allPages.forEach(function(page) { - for (var i = 0; i < page.images.length; i++) { - var tmpImg = page.images[i]; - imgsFolder.file(tmpImg.filename, tmpImg.data, { - base64: true - }); - } - }); + try { + let imgsFolder = oebps.folder("images"); + allPages.forEach(function(page) { + for (let i = 0; i < page.images.length; i++) { + let tmpImg = page.images[i] + if (tmpImg.isBinary) { + imgsFolder.file(tmpImg.filename, tmpImg.data, {binary: true}) + } else { + imgsFolder.file(tmpImg.filename, tmpImg.data, {base64: true}) + } + } + }); + } catch (error) { + console.log(error); + } + zip.generateAsync({ type: "blob"