routes.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import os
  2. from flask import render_template, Blueprint, request, redirect, url_for
  3. from flask_cors import CORS, cross_origin
  4. from flask.helpers import make_response, send_file, send_from_directory
  5. from werkzeug.wrappers import Response
  6. import requests
  7. from PIL import Image
  8. from urllib.parse import urlparse
  9. import uuid
  10. #from backstage.utils.routes import update_manage_table
  11. from backstage.config import PORTAL_SERVER, BHOUSE_SERVER
  12. upload_app = Blueprint('upload', __name__)
  13. @upload_app.route('/backstage/upload', methods=['POST','GET'])
  14. def upload_post():
  15. #bdata = request.stream.read()
  16. #aa = request.get_data()
  17. if request.method == 'POST':
  18. # check if the post request has the file part
  19. #print(request.files)
  20. """ if 'file' not in request.files:
  21. #flash('No file part')
  22. return redirect(request.url) """
  23. #print(request.get_data())
  24. file = request.files['image']
  25. # If the user does not select a file, the browser submits an
  26. # empty file without a filename.
  27. """ if file.filename == '':
  28. #flash('No selected file')
  29. return redirect(request.url) """
  30. if file:
  31. #filename = secure_filename(file.filename)
  32. #print('1')
  33. fname = str(uuid.uuid4()) + file.filename[file.filename.rfind("."):]
  34. file.save(os.getcwd()+ "/backstage/upload/img/"+ fname)
  35. #return redirect(url_for('download_file', name=file.filename))
  36. aa = {"success" : 1,"file": { "url" : "/backstage/upload/"+ fname, } }
  37. return aa
  38. if request.method == 'GET':
  39. print('GET')
  40. #print(request.files)
  41. #print(request.form)
  42. #print(requests.post("/backstage/upload"))
  43. aa = {"success" : 1,"file": { "url" : "http://www.choozmo.com/images/logo%20%281%29.webp", } }
  44. return aa
  45. @upload_app.route('/backstage/upload/<filename>', methods=['GET'])
  46. def upload_get(filename):
  47. #print(filename)
  48. #aa = {"success" : 1,"file": { "url" : "https://www.tesla.com/tesla_theme/assets/img/_vehicle_redesign/roadster_and_semi/roadster/hero.jpg", } }
  49. #return redirect(url_for('upload.upload_get',filename=filename), code=301)
  50. return send_from_directory(os.getcwd()+ "/backstage/upload/img" , filename)
  51. @upload_app.route('/backstage/getimage', methods=['POST','GET'])
  52. def get_image():
  53. print(request.get_json()['url'])
  54. fname = str(uuid.uuid4()) + str(request.get_json()['url'])[str(request.get_json()['url']).rfind("."):]
  55. f = open(os.getcwd()+ "/backstage/upload/img/" + fname,'wb')
  56. f.write(requests.get(request.get_json()['url']).content)
  57. f.close()
  58. #image_object = Image.open(os.getcwd()+ "/backstage/upload/tmp")
  59. #send_file()
  60. #aa = {"success" : 1,"file": { "url" : "http://localhost:9000/backstage/upload/avatar1.jpg", } }
  61. #resp = make_response(open(os.getcwd()+ "/backstage/upload/" + fname, 'br').read(), 301)
  62. #resp.content_type = "image/jpeg"
  63. #resp.content_encoding = "Unicode"
  64. #return redirect(request.get_json()['url'], code=301)
  65. aa = {"success" : 1,"file": { "url" : "/backstage/upload/"+ fname , } }
  66. return aa