gradio_utils.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import base64
  2. # 图片本地路径转换为 base64 格式
  3. def covert_image_to_base64(image_path):
  4. # 获得文件后缀名
  5. ext = image_path.split('.')[-1]
  6. if ext not in ['gif', 'jpeg', 'png']:
  7. ext = 'jpeg'
  8. with open(image_path, 'rb') as image_file:
  9. # Read the file
  10. encoded_string = base64.b64encode(image_file.read())
  11. # Convert bytes to string
  12. base64_data = encoded_string.decode('utf-8')
  13. # 生成base64编码的地址
  14. base64_url = f'data:image/{ext};base64,{base64_data}'
  15. return base64_url
  16. def format_cover_html(bot_name, bot_description, bot_avatar):
  17. if bot_avatar:
  18. image_src = covert_image_to_base64(bot_avatar)
  19. else:
  20. image_src = '//img.alicdn.com/imgextra/i3/O1CN01YPqZFO1YNZerQfSBk_!!6000000003047-0-tps-225-225.jpg'
  21. return f"""
  22. <div class="bot_cover">
  23. <div class="bot_avatar">
  24. <img src="{image_src}" />
  25. </div>
  26. <div class="bot_name">{bot_name}</div>
  27. <div class="bot_desp">{bot_description}</div>
  28. </div>
  29. """