-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
184 lines (170 loc) · 35 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<html lang="en"><head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Image Tagger</title>
<link href="./bootstrap.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
#preview {
min-height: 250px;
}
#preview img {
padding: 5px;
height: 250px;
}
</style>
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="//www.yhat.com" target=_blank><img src="./logo.svg" class="navbar-brand" /></a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<!-- <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li> -->
</ul>
<!-- <form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form> -->
<ul class="nav navbar-nav navbar-right">
<!-- <li><a href="#">Link</a></li> -->
</ul>
</div>
</div>
</nav>
<div class="container">
<form id="search" class="form-inline">
<div class="row text-center">
<div id="preview">
<img src="./placeholder.png" />
</div>
<input id="browse" class="form-control" type="file" />
<button type="submit" class="btn btn-primary">tag</button>
<button id="demo" class="btn btn-info">demo</button>
</div>
</form>
<hr>
<div class="row text-center">
<div id="rich-result" class="col-sm-12">
<!-- <span class="label label-success">Thing</span> -->
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-10">
<p class="lead text-primary">API Results from ScienceOps</p>
<pre id="results">Results go here...</pre>
</div>
</div>
</div><!-- /.container -->
<script src="./jquery.min.js"></script>
<script type="text/javascript">
window.URL = window.URL || window.webkitURL;
var elBrowse = document.getElementById("browse"),
elPreview = document.getElementById("preview"),
useBlob = false && window.URL; // `true` to use Blob instead of Data-URL
$("#demo").click(function(e) {
$("#preview").children().remove();
$("#rich-result").children().remove();
$("#preview").append(
`<img src="data:image/jpeg;base64,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"><p class="small text-muted">pig.jpg image/jpeg 21KB</p></div>`
);
});
function readImage(file) {
if (file.size > 1e+6) {
// $("#preview").append('<p class="alert alert-danger">Image must be < 1MB.</p>');
// return;
}
var reader = new FileReader();
reader.addEventListener("load", function () {
var image = new Image();
image.addEventListener("load", function () {
var imageInfo = file.name +' '+
file.type +' '+
Math.round(file.size/1024) +'KB';
elPreview.appendChild(this);
elPreview.insertAdjacentHTML("beforeend", '<p class="small text-muted">' + imageInfo +'</p>');
});
image.src = useBlob ? window.URL.createObjectURL(file) : reader.result;
if (useBlob) {
window.URL.revokeObjectURL(file); // Free memory
}
});
reader.readAsDataURL(file);
}
elBrowse.addEventListener("change", function() {
$("#preview").children().remove();
var files = this.files;
var errors = "";
if (!files) {
errors += "File upload not supported by your browser.";
}
if (files && files[0]) {
for(var i=0; i<files.length; i++) {
var file = files[i];
if ( (/\.(jpeg|jpg)$/i).test(file.name) ) {
readImage(file);
} else {
errors += file.name +" Unsupported Image extension\n";
}
}
}
if (errors) {
alert(errors);
}
});
$("#search").submit(function(e) {
e.preventDefault();
var image = $("#preview img").first().attr("src");
var image64 = image.slice(image.indexOf("base64,")+7)
var data = { image64: image64 };
$("#results").text("sending data....\n" + JSON.stringify(data, null, 2));
$("#rich-result").append(`<img src="./loading.gif" style="height: 50px; margin: 0px; padding: 0px;" />`);
var url = "https://sandbox.c.yhat.com/demo-master/models/ImageRecognizer/";
var request = new XMLHttpRequest();
request.open('POST', url, true);
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Authorization', 'Basic ZGVtby1tYXN0ZXI6M2IwMTYwZTEwZjZkN2E5NGEyNTI4YjExYjFjOWJjYTE=');
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText);
$("#results").text(JSON.stringify(data, null, 2));
$("#rich-result").children().remove();
data.result.guess.split(',').forEach(function(guess) {
var guessHtml = `<span style="margin: 5px;" class="label label-success">${guess}</span>`
$("#rich-result").append(guessHtml);
});
} else {
console.log("Error calling model.");
$("#rich-result").children().remove();
var defaultStuff = "animal,mammal,dog";
defaultStuff.split(',').forEach(function(guess) {
var guessHtml = `<span style="margin: 5px;" class="label label-success">${guess}</span>`
$("#rich-result").append(guessHtml);
});
}
}
request.onerror = function() {
alert("There was a connection error.");
};
request.send(JSON.stringify(data));
return false;
})
</script>
</body>
</html>