1

我见过简单的 wsgi 应用程序Hello World在网页上显示一个或一个 PNG 图像(但不是两者)。

第一页使用'Content-type', 'text/html; charset=utf-8',第二页使用'content-type', 'image/png'

我如何编写一个简单的应用程序(使用 say wsgiref.simple_server.make_server)发送两个text/htmlimage/png在同一个网页上?

4

2 回答 2

0

基本上,如果我理解正确,你不能。您的 HTML 代码需要在其中包含一个<img src="path/url/to/image.png">,并且该路径需要作为静态图像提供,或者是对同一 WSGI 服务器的第二个请求,它将为您提供一个带有适当Content-type.

所以,让我详细说明。

假设您有一个http://server.com/mypage的请求路径,它将返回一个 HTML 并Content-type设置text/html为该 HTML,您将拥有:

<img src="http://server.com/myimage">

然后,在您的 WSGI 应用程序中,您实现了两条路由:

  1. /mypage给你一个 HTML 返回
  2. /myimage这会给你一个PNG图像
于 2012-10-23T01:11:38.303 回答
0
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server

def simple_app(environ, start_response):
  setup_testing_defaults(environ)
  path    = str( environ['PATH_INFO']
  headers = [('Server', 'Apache'),('Content-type', 'text/html')]
  rsp     = 'oops'

  if '.html' in path:
  rsp  = some_html

  if '.png' in path:
     headers = [('Server', 'Apache'),('Content-type', 'image/png')]
     rsp = some_png

  start_response(status, headers)
  return rsp

httpd = make_server('', 8008, simple_app)
print "Serving on port 8000..."

httpd.serve_forever()

于 2016-03-25T04:50:33.893 回答