我正在尝试在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。