[英]Display image with Python-Flask template engine
我想通過 Flask 將二進制圖像數據發送到模板(以避免從瀏覽器緩沖)。 Python文件如下:
#!/usr/bin/python3
import base64
from flask import Flask,make_response,render_template
app = Flask(__name__)
@app.route('/')
def showdata():
fp = open("sp.png","rb")
sp = base64.b64encode(fp.read())
fp.close()
fp = open("sg.png","rb")
sg = base64.b64encode(fp.read())
fp.close()
wav = None
resp = make_response(render_template('index.html',sg=sg,sp=sp))
return resp
if __name__ == '__main__':
app.run(host='0.0.0.0', port=3000,debug=True)
HTML 文件為:
<!DOCTYPE html>
<html>
<head>
<title>Show Timeswipe Measurements!</title>
</head>
<body>
<!-- show data and spectrum -->
<img id='spectrum' src='data:image/png;base64,{{ sp }}'>
<!-- show spectrogram -->
<img id='spectrogram' src='data:image/png;base64,{{ sg }}'>
<!-- show wav -->
</body>
</html>
未顯示圖像。 src 是<img id='spectrum' src='data:image/png;base64,b'iVBOR...
,即圖像b'i
的開頭似乎有一些額外的字符。
通過模板引擎發送二進制圖像數據的正確方法是什么。
好的,找到了解決方案。
更改代碼如下
sp = base64.b64encode(fp.read()).decode()
sg = base64.b64encode(fp.read()).decode()
做這項工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.