ConradLax's picture
fix: UI and pdf output
1c9094b
/* classify uploaded images using a Huggingface model */
async function classifyImages(acceptedFiles) {
let formData = new FormData();
for (const file of acceptedFiles){
formData.append('files', file);
}
let classifyResponse = await fetch('classify', {
method: 'POST',
body: formData
});
return classifyResponse;
}
const inputDoc = document.getElementById('doc-input');
const outputDocLink = document.getElementById('doc-output-link');
inputDoc.addEventListener("change", async event =>{
/* hide Download button when in classification process */
// outputDocLink.style.visibility = "hidden";
// dlOutputBtn.disabled = true;
outputDocLink.ariaDisabled = "true";
outputDocLink.classList.add("disabled");
const files = event.target.files;
/* make Download button's visible, and add the link to download the resulting .csv file */
await classifyImages(files).then(async (result) => {
// outputDocLink.style.visibility = "visible";
// dlOutputBtn.disabled = false;
outputDocLink.ariaDisabled = "false";
outputDocLink.classList.remove("disabled");
const disposition = result.headers.get('Content-Disposition');
const filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
const matches = filenameRegex.exec(disposition);
// const filename = matches != null && matches[1] ? matches[1].replace(/['"]/g, '') : 'data.csv';
const filename = 'data.csv';
const blob = await result.blob();
const url = window.URL.createObjectURL(blob);
// set download link to the download button
outputDocLink.href = url;
});
});