-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.py
More file actions
70 lines (59 loc) · 1.95 KB
/
server.py
File metadata and controls
70 lines (59 loc) · 1.95 KB
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
from flask import Flask, jsonify, request, abort, Response, make_response
from time import time
from uuid import uuid4
import json
import os
import sys
import demo
app = Flask(__name__)
class Todo(object):
def __init__(self, content):
self.id = str(uuid4())
self.content = content
self.created_at = time()
self.is_finished = False
self.finished_at = None
def finish(self):
self.is_finished = True
self.finished_at = time()
def json(self):
return json.dumps({
'id': self.id,
'content': self.content,
'created_at': self.created_at,
'is_finished': self.is_finished,
'finished_at': self.finished_at
})
# config server route... need REST api
@app.route('/')
@app.route('/index')
def index():
# return jsonify(msg='upload your image to classify')
return "<h3>Upload your image to classify</h3>"
@app.route('/upload', methods=['POST'])
def addImage():
for k in request.form:
print("received form ele: " + k + ', ' + request.form[k])
# content = request.form.get('file2upload', None)
print(request.files)
content = request.files['file2upload']
if not content:
abort(400)
# save image to fileSys.
imageName = content.filename
print('Saving to filepath ./assets/' + imageName)
content.save('./assets/' + imageName)
# ready2 run image classify
im_names = [imageName]
for im_name in im_names:
print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
print 'Test for data/demo/{}'.format(im_name)
demo.imageClassify(demo.net, im_name)
txt = open('./assets/' + imageName + '.txt', 'r')
content = txt.read()
res = make_response(jsonify(msg='upload success', imageurl='./assets/' + imageName,
objs=content))
res.headers['Access-Control-Allow-Origin'] = '*'
return res
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)