Как обслуживать типы содержимого изображений с помощью метода do_GET Python BaseHTTPServerRequestHandler?

I' m с помощью BaseHTTPServer для обслуживания веб-контента. Я могу обслуживать Content-types 'text / html' или 'text / css' или даже 'text / js', и он отображается на стороне браузера. Но когда я пытаюсь

self.send_header ('Content-type', 'image / png')

для файла .png, он вообще не отображается.

Вот пример:

                    if self.path.endswith(".js"):
                            f = open(curdir + sep + self.path)
                            self.send_response(200)
                            self.send_header('Content-type',        'text/javascript')
                            self.end_headers()
                            self.wfile.write(f.read())
                            f.close()
                            return

, это отлично работает с javascript

                    if self.path.endswith(".png"):
                            f=open(curdir + sep + self.path)
                            self.send_response(200)
                            self.send_header('Content-type',        'image/png')
                            self.end_headers()
                            self.wfile.write(f.read())
                            f.close()
                            return

, похоже, не отображается содержимое изображения, когда я размечу его для клиентской стороны. Он выглядит как неработающий образ.

Есть идеи?

5
задан Brandon Runyon 13 March 2011 в 03:32
поделиться