karlkoder-playground/src/prompt_upload.js

20 lines
584 B
JavaScript

export function promptUpload(accept, multiple) {
return new Promise((resolve) => {
const input = document.createElement("input");
input.type = "file";
input.accept = accept;
input.multiple = multiple;
input.style = "display: none;";
input.addEventListener("cancel", () => {
resolve([]);
input.remove();
});
input.addEventListener("change", () => {
resolve(input.files);
input.remove();
});
document.body.append(input);
input.click();
});
}