fastapi传输图片给客户端
前提:后端,python,我有一个frame,想传递给前端进行展示。
- 将图片保存到本地,传输地址给客户端
cv2.imwrite(result_path, frame)
- 图片进行base64编码后传输
base64.b64encode(frame)
但是发现前端接收到后无法显示图片。
把base64转存后,复制到base64在线转化为图片网站上测试了一下,也是不行。
- 转为base64
对一张图片进行编码,下面是测试代码:
import base64
with open("E:/1.jpg", "rb") as f:
# b64encode是编码,b64decode是解码
base64_data = base64.b64encode(f.read())
# base64.b64decode(base64data)
base64_data_str = str(base64_data, encoding="utf-8")
html_str = "data:image/jpg;base64," + base64_data_str
print(html_str)
return html_str
测试可行后,代入真实数据:
success, buffer = cv2.imencode('.jpg', frame)
if not success:
return None
base64_data = base64.b64encode(buffer)
base64_data_str = str(base64_data, encoding="utf-8")
html_str = "data:image/jpg;base64," + base64_data_str
return html_str

浙公网安备 33010602011771号