web.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import sys
  2. import requests
  3. from flask import Flask, jsonify
  4. from urllib3.exceptions import NewConnectionError
  5. from drawer.drawer_2d import Drawer2D
  6. from drawer.drawer_3d import Drawer3D
  7. app = Flask(__name__)
  8. @app.route('/sysvent/download/<int:model_id>/<string:draw_type>', methods=['GET'])
  9. def download_dxf_file(model_id, draw_type,):
  10. # 指定文件的完整路径
  11. try:
  12. drawer = None
  13. if draw_type == '2d':
  14. drawer = Drawer2D(model_id)
  15. elif draw_type == '3d':
  16. drawer = Drawer3D(model_id)
  17. path = drawer.export()
  18. # 使用send_file发送文件,as_attachment=True表示以附件形式发送
  19. # return send_file(path, as_attachment=True)
  20. return jsonify({"path": path}), 200
  21. except NewConnectionError as e:
  22. # 捕获连接错误,并返回自定义的错误信息
  23. error_message = "连接失败: 无法连接到服务器。错误信息: " + str(e)
  24. print(error_message)
  25. return jsonify({"error": error_message}), 500
  26. except requests.exceptions.HTTPError as http_err:
  27. # 捕获其他HTTP错误
  28. error_message = f"HTTP错误: {http_err}"
  29. print(error_message)
  30. return jsonify({"error": error_message}), 500
  31. if __name__ == '__main__':
  32. download_dxf_file(1,'3d')
  33. # app.run(debug=False)