質問失礼いたします。
サーバー内にある画像をHTMLで表示したく、以下のようなプログラムを作成したのですが、上手くいかず困っております。
python
1#!/usr/bin/env python 2# -*- coding:utf-8 -*- 3import cgi 4import cgitb 5import os, sys 6cgitb.enable() 7 8f = open("hosi.jpg","rb") 9 10# print("Content-Type: text/html") 11print("Content-Type: image/jpeg") 12print("") 13print("<html><body>") 14print(f.read()) 15print("</body><html>")
画像を表示したいので"Content-type"を"image/jpeg"にすべきだとは思ったのですが、そのようにすると画面が真っ黒になってしまいます。また、"Content-type"を"text/html"にすると、画像は表示されず英数字が長々と表示されます。
ご助力いただけますと幸いでございます。
何卒よろしくお願いいたします。
割愛させていただいていた部分のCODEも表示させていただきました。
python
1#!/usr/bin/env python 2# -*- coding:utf-8 -*- 3import cgi 4import cgitb 5import os, sys 6cgitb.enable() 7 8try: 9 import msvcrt 10 msvcrt.setmode(0, os.O_BINARY) 11 msvcrt.setmode(1, os.O_BINARY) 12except ImportError: 13 pass 14 15result = 'DUMMY' 16form = cgi.FieldStorage() 17#if form.has_key('file'): 18if 'file' in form: 19 item = form['file'] 20 if item.file: 21# fout = file(os.path.join('/tmp', item.filename), 'wb') 22 fout = open(os.path.join('C:\server\cgi-bin\write', item.filename), 'wb') 23 while True: 24 chunk = item.file.read(1000000) 25 if not chunk: 26 break 27 28 fout.write(chunk) 29 fout.close() 30 result = 'upload is done' 31 #result = "アップロード" 32 33f = open("hosi.jpg","rb") 34print("Content-Type: text/html") 35# print("Content-Type: image/jpeg") 36print("") 37print("<html><body>") 38print(f.read()) 39print(result) 40print("</body><html>")
回答1件
あなたの回答
tips
プレビュー