Flask響應(yīng)請(qǐng)求有以下幾種方法:
- render_template 返回模板文件
- jsonify 返回json格式的數(shù)據(jù)
- Response 自定義返回的數(shù)據(jù)及類型
當(dāng)服務(wù)端需要返回圖片或者各種格式的文件時(shí),就需要使用Response進(jìn)行自定義返回.
例如當(dāng)用戶請(qǐng)求服務(wù)器并傳遞圖片id時(shí),返回給用戶的是一張圖片,就需要使用Response返回?cái)?shù)據(jù)予跌,示例如下:
# encoding:utf8
__author__ = 'brianyang'
from flask import Response, Flask
app = Flask(__name__)
@app.route("/image/<imageid>")
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)
啟動(dòng)服務(wù)督弓,當(dāng)用戶訪問(wèn)http://127.0.0.1:5000/image/1 時(shí),會(huì)返回服務(wù)器根目錄中/image/1.jpg這張圖片.
HTTP響應(yīng)報(bào)文
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可以支持返回多種類型的文件景图,請(qǐng)參考MIME類型列表.