Files
SysTray-X/webext/js/options_iconform.js

37 lines
1.0 KiB
JavaScript

function fileSelected() {
let input = document.getElementById("selectedFileIconType");
if (input.files.length > 0) {
console.debug("Selected file: " + input.files[0].name);
console.debug("Selected file type: " + input.files[0].type);
}
function storeFile() {
let buffer = new Uint8Array(fr.result);
let binary = "";
let len = buffer.byteLength;
for (let i = 0; i < len; i++) {
binary += String.fromCharCode(buffer[i]);
}
let base64 = window.btoa(binary);
let iconDiv = document.getElementById("icon");
iconDiv.setAttribute("data-icon", base64);
iconDiv.setAttribute("data-icon-mime", input.files[0].type);
let image = document.getElementById("customIconImage");
image.setAttribute("src", `data:${input.files[0].type};base64,${base64}` );
console.log(base64);
}
fr = new FileReader();
fr.onload = storeFile;
fr.readAsArrayBuffer(input.files[0]);
}
document
.getElementById("selectedFileIconType")
.addEventListener("change", fileSelected);