-
Notifications
You must be signed in to change notification settings - Fork 2
/
server.py
35 lines (30 loc) · 966 Bytes
/
server.py
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
from flask import Flask, send_file, jsonify
from flask_cors import CORS, cross_origin
import numpy as np
import boto3
import os
import base64
app = Flask(__name__)
CORS(app)
@app.route('/get-image', methods=['GET'])
def get_image():
s3 = boto3.client('s3', aws_access_key_id=os.environ['S3_KEY'], aws_secret_access_key=os.environ['S3_SECRET'])
while True:
idx = np.random.randint(17728)
img_name = "{}.png".format(idx)
try:
s3.download_file('tcs-img', img_name, "img.png")
except Exception:
continue
break
with open("img.png", "rb") as image_file:
encoded_string = base64.b64encode(image_file.read())
base64_string = encoded_string.decode('utf-8')
response = jsonify("image", base64_string)
response.headers.add('Access-Control-Allow-Origin', '*')
return response
@app.route('/')
def index():
return "hello"
if __name__=="__main__":
app.run(debug=True)