14,912 views
この記事は最終更新から 2561日 が経過しています。
アクセスカウンタの画像表示などでよく使われる方法だ。
通常、HTMLの IMGタグの SRC属性には画像ファイルのURLを指定する。
SRC属性に Pythonプログラムを指定し、HTTPレスポンスとして画像を返させることができる。
用途
プログラムで動的に生成した画像をHTTPレスポンスとして返したい場合に使用できる。
また、画像ファイルのパスを秘密にしておきたい場合に使用できる。
プログラム
以下のプログラムでは、IMGタグの SRC属性に Pythonプログラムを指定している。
この Pythonプログラムでは、実行ごとにランダムに画像を選択し、HTTPレスポンスとして返している。
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> <img src="load_img.cgi"> </body> </html>
load_img.cgi
※cgiファイルはアップロード後に実行属性を付与しないと500エラーが出るので注意
#!/usr/local/bin/python # -*- coding: utf-8 -*- import os import random # 画像ファイルをランダム選択 img_src = "%d.jpg" % random.randint(1,2) # 画像を出力 print "Content-Type: image/jpeg" print "Content-Length: %d\n" % os.stat(img_src).st_size print open(img_src,"rb").read()
実行サンプルはこちら(↓)
https://www.dogrow.net/python/sample/0089
[F5]キー押下などでページを更新するとランダムに表示画像が変わる。