file_utils.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import sys
  2. from flask import Flask, request
  3. from werkzeug.utils import secure_filename
  4. import os
  5. from alibabacloud_sample.sample import Sample
  6. app = Flask(__name__)
  7. app.config['UPLOAD_FOLDER'] = 'uploads' # 替换为你的上传文件夹路径
  8. @app.route('/api/upload', methods=['POST'])
  9. def upload_file():
  10. file_type = request.form.get('type')
  11. if 'file' not in request.files:
  12. return "No file part"
  13. file = request.files['file']
  14. if file.filename == '':
  15. return "No selected file"
  16. if file: # 这里可以加文件类型判断逻辑
  17. directory = os.path.join(app.config['UPLOAD_FOLDER'])
  18. if not os.path.exists(directory):
  19. os.makedirs(directory)
  20. print(f"Directory '{directory}' created successfully.")
  21. else:
  22. print(f"Directory '{directory}' already exists.")
  23. filename = secure_filename(file.filename)
  24. print(f'filename: {filename}')
  25. file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
  26. # 识别
  27. far, ticket_number = Sample.main(sys.argv[1:], f"{os.path.join(app.config['UPLOAD_FOLDER'])}/{filename}",file_type)
  28. # return f'{far}, {ticket_number}'
  29. # return 'upload success'
  30. return {
  31. 'far': far,
  32. 'ticket_number': ticket_number
  33. }
  34. @app.route('/api/ocr', methods=['GET'])
  35. def get_pic_content():
  36. far, ticket_number = Sample.main(sys.argv[1:], 'uploads/3.pdf', 'TrainTicket')
  37. return f'{far}, {ticket_number}'
  38. @app.route('/', methods=['GET'])
  39. def hello():
  40. return {
  41. 'message': 'Hello World!'
  42. }
  43. if __name__ == '__main__':
  44. # app.run(host='0.0.0.0', port=8000, debug=True)
  45. app.run(port=8000, debug=True)