Я пытаюсь отобразить файл изображения в веб-браузере через сервер Apache от Python. Я использую:
Windows 7
http сервер apache 2.2
питон 2,7
Конфигурация в httpd.conf:
DocumentRoot "C:/Apache2.2/htdocs"
RewriteRule ^images/(.+)$ /imagetest.py?img=$1 [QSA,L]
imagetest.py
в папке htdocs:
import cgitb; cgitb.enable()
import cgi
form = cgi.FieldStorage()
imgName = form.getvalue("img")
print "Content-type: image/jpeg"
print
print file(r"C:/imageFolder/" + imgName, "rb").read()
# Also tried
# sys.stdout.write( "Content-type: image/jpeg\n\n" + file("C:/imageFolder/" + imgName, "rb").read() )
# instead of "print"s above
URL http://localhost/images/0001.jpg
дает;
- The image cannot be displayed because it contains errors
ошибка в Firefox,
- ничего в Chrome.
Но в обоих случаях изображение извлекается (около 1 МБ) с кодом состояния http 200 (выглядит с помощью Firebug).
Есть предложения?
Кроме того, это правильный способ делать такие вещи? Я решил использовать cgi, потому что этот сервер будет обслуживать только изображения и некоторые видеофайлы косвенно (а именно через скрипт на python). Я имею в виду, никаких сложных операций там. Однако этот сервер должен обрабатывать многие запросы быстро и надежно. Благодаря.