【Python】URLからクエリを取得する
MAX
MAX999blog
WEBサーバ上に保存された画像ファイルをPythonで読込み、Base64にエンコードしてからブラウザへ渡して画面に表示する。
Base64で渡すことで、ブラウザ側のCORS制約とかを気にしなくてよくなる。
1<img id="imgSample" src="{{imgSample}}">
1import render_template
2import base64
3
4def encodeBase64():
5
6 #画像ファイルをバイナリで開く
7 with open(filePath, "rb") as f:
8 #ファイルの内容を読込み、Base64にエンコードする
9 bImgBase64 = base64.b64encode(f.read())
10
11 #バイナリを文字列に変換する
12 strImgBase64 = str(bImgBase64)
13 #文字列変換時の先頭の「b'」と末尾の「'」を取り除く
14 strImgBase64 = strImgBase64[2: len(strImgBase64) - 1]
15 #PNG形式のヘッダを付加する
16 imgSample = "data:image/png;base64," + strImgBase64
17
18 #テンプレートにbase64の画像データを渡す
19 return render_template('xxx/yyy.html', imgSample=imgSample)
ローカルから画像をWEBサーバにアップロードした後に表示する処理とかにも一応使える。