こんにちは!増田拓海です。
今回はPythonで画像をアップロードして表示するCGIプログラムを作ったので記事にしてみます。
プログラム
index.html
cgi-bin/index.py
このプログラムでindex.htmlでアップロードした画像がindex.pyに送られてbase64に変換されて表示されます。
index.html解説
formのactionにcgi-bin/index.pyを指定したformです。
methodにpost、enctypeにmultipart/form-dataを指定してください。
index.py
※面倒くさいからGithubGist使うのやめますw
import cgi
import base64
必要なモジュールです。
cgi=画像ファイル読み込み用
base64=画像ファイルのバイナリ→base64変換用
print("Content-Type: text/html; charset=UTF-8")
print("")
ヘッダーです。今回は画像をhtmlのimgタグに入れて表示したいのでtext/htmlを指定しています。
form = cgi.FieldStorage()
img = form.getvalue("imagefile")
post送信された画像を取得して”img”変数に代入するコードです。
after_encode = base64.b64encode(img)
これでバイナリの画像ファイルをbase64に変換します。
after_encode = str(after_encode)
after_encode = after_encode.replace("b'","")
after_encode = after_encode.replace("'","")
print("
".format(after_encode))
このコードでいらない部分を消してimgのsrcにbase64の画像データを入れています。
(data:image/[ファイル形式];base64,[data])
まとめ
意外と簡単だった(最初js使ってとか難しく考えてた)
使い道がない(DBに直接突っ込んだら…)
最後まで読んでいただきありがとうございました。
ビスケットを送る0
コメント