Flask返回图片

Flask响应请求有以下几种方法:

  • render_template 返回模板文件
  • jsonify 返回json格式的数据
  • Response 自定义返回的数据及类型

当服务端需要返回图片或者各种格式的文件时,就需要使用Response进行自定义返回.

例如当用户请求服务器并传递图片id时,返回给用户的是一张图片,就需要使用Response返回数据,示例如下:

# encoding:utf8
__author__ = 'brianyang'

from flask import Response, Flask

app = Flask(__name__)

@app.route("/image/")
def index(imageid):
    image = file("丽江/{}.jpg".format(imageid))
    resp = Response(image, mimetype="image/jpeg")
    return resp
from flask import render_template, jsonify


app.run(debug=True)

启动服务,当用户访问http://127.0.0.1:5000/image/1 时,会返回服务器根目录中/image/1.jpg这张图片.

HTTP响应报文

Connection:close
Content-Type:image/jpeg
Date:Thu, 24 Mar 2016 06:21:35 GMT
Server:Werkzeug/0.10.4 Python/2.7.8

返回的类型为image/jpeg

定义mimetype可以支持返回多种类型的文件,请参考MIME类型列表.

你可能感兴趣的:(Flask返回图片)