| | const uploadArea = document.getElementById("uploadArea");
|
| | const fileInput = document.getElementById("fileInput");
|
| | const preview = document.getElementById("preview");
|
| | const runBtn = document.getElementById("runBtn");
|
| | const loader = document.getElementById("loader");
|
| | const result = document.getElementById("result");
|
| |
|
| | let uploadedFile = null;
|
| |
|
| |
|
| | uploadArea.addEventListener("click", () => fileInput.click());
|
| |
|
| |
|
| | fileInput.addEventListener("change", (e) => {
|
| | uploadedFile = e.target.files[0];
|
| | showPreview(uploadedFile);
|
| | });
|
| |
|
| |
|
| | uploadArea.addEventListener("dragover", (e) => {
|
| | e.preventDefault();
|
| | uploadArea.style.background = "rgba(79,195,247,0.2)";
|
| | });
|
| |
|
| | uploadArea.addEventListener("dragleave", () => {
|
| | uploadArea.style.background = "rgba(255,255,255,0.05)";
|
| | });
|
| |
|
| | uploadArea.addEventListener("drop", (e) => {
|
| | e.preventDefault();
|
| | uploadedFile = e.dataTransfer.files[0];
|
| | showPreview(uploadedFile);
|
| | });
|
| |
|
| | function showPreview(file) {
|
| | if (!file) return;
|
| | const reader = new FileReader();
|
| | reader.onload = (e) => {
|
| | preview.innerHTML = `<img src="${e.target.result}" alt="Preview">`;
|
| | };
|
| | reader.readAsDataURL(file);
|
| | }
|
| |
|
| | runBtn.addEventListener("click", async () => {
|
| | if (!uploadedFile) {
|
| | alert("Please upload an image first!");
|
| | return;
|
| | }
|
| |
|
| | loader.style.display = "block";
|
| | result.innerHTML = "";
|
| |
|
| | const formData = new FormData();
|
| | formData.append("file", uploadedFile);
|
| |
|
| | try {
|
| | const response = await fetch("http://127.0.0.1:5000/predict", {
|
| | method: "POST",
|
| | body: formData,
|
| | });
|
| |
|
| | if (!response.ok) throw new Error("Failed to fetch result from backend.");
|
| |
|
| | const blob = await response.blob();
|
| | const url = URL.createObjectURL(blob);
|
| |
|
| | loader.style.display = "none";
|
| | result.innerHTML = `
|
| | <div>
|
| | <h3>Original</h3>
|
| | <img src="${URL.createObjectURL(uploadedFile)}" alt="Original">
|
| | </div>
|
| | <div>
|
| | <h3>Denoised Image</h3>
|
| | <img src="${url}" alt="Denoised Image">
|
| | </div>
|
| | `;
|
| |
|
| | } catch (err) {
|
| | loader.style.display = "none";
|
| | alert(err.message);
|
| | }
|
| | });
|
| |
|