Flasks的REST服务为每个URL请求提供来自不同路径的不同图像?

时间:2014-11-17 20:10:51

标签: python rest flask

我正在尝试在Flask上实现非常基本的REST服务。我在位于不同文件路径的计算机中有不同的图像,我喜欢向客户端显示每个不同的URL地址。例如;

www.bla.com/get_image_A # returns image_A.png from path/to/file1
www.bla.com/get_image_B # returns image_B.png from path2/to/file2

Antoher担心的是隐藏来自客户端的完整路径,所以如果图像位于完全另一个位置然后烧瓶根,那么我不想显示我的完整路径来对抗可能的黑客家伙。

是否可以在Flask中实现它?

我试着这样做

from flask import Flask, render_template, send_from_directory, request, redirect, url_for

app = Flask(__name__)
app.config['IMAGES_1_STATIC_PATH'] = '/Common/path/to/some/images'

@app.route('/<path:filename>')
def ml_reports_path(filename):
    return send_from_directory(app.config['IMAGES_1_STATIC_PATH'] , filename)

@app.route('/get_some_images')
def tff_predictions():
    return render_template('get_some_images.html')

if __name__ == '__main__':
    app.run(debug=True, port=4999, host='0.0.0.0')

get_seom_images.html

<img src="{{ url_for('ml_reports_path', filename = 'image1.png') }}">

这不起作用,文件路径在浏览器中显示/image1.png。

0 个答案:

没有答案