Я пытаюсь отобразить изображение на localhost
. В качестве первого шага, я создал скрипт в Python СеверLocalhost не отображает изображения
#!/usr/bin/env python
import BaseHTTPServer
import CGIHTTPServer
import cgitb; cgitb.enable() ## This line enables CGI error reporting
server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("", 8000)
handler.cgi_directories = ["/"]
httpd = server(server_address, handler)
httpd.serve_forever()
Изображение помещается в тот же каталог, где этот скрипт выполняется. Впоследствии http://localhost:8000/test.jpg
набрал в браузере.
Браузер не может сделать изображение с ошибкой: The image "http://localhost:8000/test.jpg" cannot be displayed because it contains errors.
Сценарий сервер выдает ошибку, как
File "/usr/lib/python2.7/CGIHTTPServer.py", line 253, in run_cgi
os.execve(scriptfile, args, env)
OSError: [Errno 8] Exec format error
Я попытался отображения текста и сервер отлично работает с большим количеством примеров. За исключением того, что он не загружает изображения. Где я иду не так?
Проблема была решена. Я переместил test.jpg в подкаталог в каталоге сервера .
Мне определенно нужно отобразить изображение, а также несколько текстовых сообщений на html. Изображение создается после выполнения сценария python, что требует CGIHttpServer. Как справиться с этой ситуацией? SimpleHTTP отображает изображение в браузере, но мне нужен CGIHttp, чтобы сгенерировать его в первую очередь. – Vikram
Поместите скрипт CGI внутри подкаталога и отпустите его оттуда? По умолчанию, похоже, если вы поместите его в cgi-bin, он сделает то, что вы хотите. –