watermark_generate_controller.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """
  2. 数据集图片处理http接口
  3. """
  4. from flask import Blueprint, request, send_file, jsonify
  5. from watermark_generate.exceptions import BusinessException
  6. from watermark_generate.tools import logger_tool
  7. generator = Blueprint('generator', __name__)
  8. logger = logger_tool.logger
  9. # 允许的扩展名
  10. ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
  11. # 判断文件扩展名是否合法
  12. def allowed_file(filename):
  13. return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
  14. # 获取文件扩展名
  15. def get_file_extension(filename):
  16. return filename.rsplit('.', 1)[1].lower()
  17. @generator.route('/model/watermark/embed', methods=['POST'])
  18. def watermark_embed():
  19. """
  20. 上传图片,嵌入密码标签,进行处理、
  21. label: 密码标签
  22. file: 上传的图像
  23. :return: 成功:处理完成的图像二进制流 失败:{code: -1, msg:'错误信息'}
  24. """
  25. logger.info(f'watermark embed request: {request.json}')
  26. # 获取请求参数
  27. data = request.json
  28. model_file = data.get('model_file')
  29. model_value = data.get('model_value')
  30. model_type = data.get('model_type')
  31. if model_file is None:
  32. raise BusinessException(message='模型代码路径不可为空', code=-1)
  33. if model_value is None:
  34. raise BusinessException(message='模型值不可为空', code=-1)
  35. if model_type is None:
  36. raise BusinessException(message='模型类型不可为空', code=-1)
  37. # 解压模型文件代码
  38. # 修改模型文件代码
  39. # 压缩修改后的模型文件代码
  40. # 返回文件响应流
  41. return jsonify({'model_file_new': 'test_path', 'hash_flag': 0, 'license': 0}), 200