如何在 bottle.py 中从 gae 中的 blob 服务器图像



我想执行以下操作(来自 GAE 留言簿示例)以动态服务器来自 Blob 属性的图像 bottle.py

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)

似乎没有回应,所以这就是我到目前为止所拥有的:

@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!)

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

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

您可以使用 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!)

最新更新