0

我想做类似以下的事情(来自GAE 留言簿示例)来动态服务器来自 bottle.py 中 Blob 属性的图像

class Image(webapp2.RequestHandler):
  def get(self):
    greeting = db.get(self.request.get('img_id'))
    if greeting.avatar:
      self.response.headers['Content-Type'] = 'image/png'
      self.response.out.write(greeting.avatar)
    else:
      self.error(404)

似乎没有 response.out 但这是我到目前为止所拥有的:

@get('/image')
def get_image():
  greeting = db.get(request.query.img_id)
  if greeting.avatar:
    response.headers['Content-Type'] = 'image/png'
    response.body = greeting.avatar
    return response
  else:
    abort('404', not found!)

但这并没有正确返回图像。

编辑:我返回的是请求,而不是响应,所以上面的例子有效!

4

1 回答 1

0

您可以通过使用 HTTPReponse 对象来完成此操作:

@get('/image')
def get_image():
  greeting = db.get(request.query.img_id)
  if greeting.avatar:
    headers = {
      'Content-Type': 'image/png'
    }
    body = greeting.avatar
    return HTTPResponse(body, **headers)
  else:
    abort('404', not found!)
于 2013-11-05T17:06:14.547 回答