watermark_generate_controller.py 1.6 KB

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