Brightsun10 commited on
Commit
d30a82c
·
verified ·
1 Parent(s): c71585e

Upload index.html

Browse files
Files changed (1) hide show
  1. static/index.html +66 -0
static/index.html ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AI Image Classifier</title>
7
+ <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
8
+ </head>
9
+ <body class="bg-light">
10
+ <div class="container py-5">
11
+ <h2 class="text-center mb-4">Upload an Image for Classification</h2>
12
+ <form id="uploadForm" class="mb-4">
13
+ <div class="mb-3">
14
+ <input type="file" id="imageInput" class="form-control" accept="image/*" required>
15
+ </div>
16
+ <button type="submit" class="btn btn-primary">Predict</button>
17
+ </form>
18
+
19
+ <div id="result" class="alert d-none"></div>
20
+ <img id="preview" src="" class="img-fluid mt-4 d-none" alt="Preview">
21
+ </div>
22
+
23
+ <script>
24
+ const form = document.getElementById('uploadForm');
25
+ const imageInput = document.getElementById('imageInput');
26
+ const result = document.getElementById('result');
27
+ const preview = document.getElementById('preview');
28
+
29
+ form.addEventListener('submit', async (e) => {
30
+ e.preventDefault();
31
+
32
+ const file = imageInput.files[0];
33
+ if (!file) return;
34
+
35
+ const formData = new FormData();
36
+ formData.append('file', file);
37
+
38
+ // Show image preview
39
+ const reader = new FileReader();
40
+ reader.onload = () => {
41
+ preview.src = reader.result;
42
+ preview.classList.remove('d-none');
43
+ };
44
+ reader.readAsDataURL(file);
45
+
46
+ result.classList.add('d-none');
47
+ result.classList.remove('alert-success', 'alert-danger');
48
+
49
+ try {
50
+ const response = await fetch('http://127.0.0.1:8000/predict', {
51
+ method: 'POST',
52
+ body: formData
53
+ });
54
+ const data = await response.json();
55
+ result.textContent = `Prediction: ${data.prediction}`;
56
+ result.classList.add('alert', 'alert-success');
57
+ result.classList.remove('d-none');
58
+ } catch (err) {
59
+ result.textContent = 'Error occurred while predicting';
60
+ result.classList.add('alert', 'alert-danger');
61
+ result.classList.remove('d-none');
62
+ }
63
+ });
64
+ </script>
65
+ </body>
66
+ </html>