WindowsでXAMPPのApache上でphthonをCGIとして動かしています.
以下のようにサーバ上の画像を読み込んで画像としてレスポンスを返したいと思っていますが,
画像が破損してしまってうまく表示されません.
対応方法をご存知の方がもしいましたらご連絡いただけますと大変ありがたいです.
よろしくお願い致します.
#!C:\Python27\python.exe
# -*- coding: utf-8 -*-
print "Content-type: image/jpg"
print ""
print open("./img/test.jpg", "rb").read()
標準出力を、バイナリモードにする必要があるそうです。
#!C:\Python27\python.exe # -*- coding: utf-8 -*- import os, msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) print "Content-type: image/jpeg" print "" print open("./img/test.jpg", "rb").read()
Content-type も jpeg にしています。
参考URL :
http://d.hatena.ne.jp/rage2050/20091022
http://code.activestate.com/recipes/65443/
http://stackoverflow.com/questions/4060339/python-cgi-serves-distorted-images
早速のご回答ありがとうございました.
2015/02/24 08:54:25以下のようにすることで無事画像が表示されました.
#!C:\Python27\python.exe
# -*- coding: utf-8 -*-
import os, msvcrt, sys
if sys.platform == "win32":
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
print "Content-type: image/jpeg"
print ""
print open("./img/cat.jpg", "rb").read()