$(function() { var msg = $('#message'), img = $('#image>img'); function showItems(resp) { var imgW = img.width(), imgH = img.height(); msg.text(JSON.stringify(resp)); msg.removeClass().addClass('alert alert-success').show(); resp.sort(function(a, b) { return (b.box.h * b.box.w) - (a.box.h * a.box.w); }); resp.forEach(function(item) { var left = (item.box.x - item.box.w / 2) * imgW, top = (item.box.y - item.box.h / 2) * imgH, width = item.box.w * imgW, height = item.box.h * imgH, labelText = (Math.round(100 * item.confidence)) + '% ' + item.name + ' (' + item.class + ')', label = $('
').addClass('itemLabel').text(labelText), box = $('
').addClass('item') .attr('title', labelText) .css('left', left + 'px') .css('top', top + 'px') .css('width', width + 'px') .css('height', height + 'px'); box.append(label); $('#image').append(box); }); }; function showFile(input) { if (input.files && input.files[0]) { var reader = new FileReader(), data = new FormData(); $('.item').remove(); reader.onload = function(e) { img.attr('src', e.target.result).show();; }; reader.readAsDataURL(input.files[0]); data.append('image', input.files[0]); $.ajax({ type: "POST", url: "/findItems", data: data, cache: false, contentType: false, processData: false, success: showItems }); }; }; $('#imageFile').change(function() { img.hide(); msg.hide(); showFile(this); }); });