如何解决从 FLASK 中的本地文件夹读取数据
我正在使用 FLASK 构建 Web API,我想读取 data
文件夹中的一些图像
venv/data/cartes/carte1.png
carte2.png
carte3.png
carte4.png
为了在 html 文件 index.html
中显示它们并使用 javascript 循环它们:
@app.route('/')
def index():
return render_template('index.html')
我尝试使用它,但它给出了错误 GET LINK... not found:
app.config["CLIENT_IMAGES"] = "/data/cartes"
@app.route("/get-image/<image_name>",methods=['GET','POST'])
def get_image(image_name):
try:
return send_from_directory(app.config["CLIENT_IMAGES"],filename=image_name,as_attachment=True)
except FileNotFoundError:
print("failure")
abort(404)
解决方法
根据文档:
(https://flask.palletsprojects.com/en/1.0.x/api/#flask.send_from_directory)
@app.route('/get-image/<path:image_name>')
def get_image(image_name):
return send_from_directory('/data/cartes',image_name,as_attachment=True)
您可以在此处找到更多示例:
https://www.programcreek.com/python/example/65747/flask.send_from_directory
您应该为此使用静态目录: https://flask.palletsprojects.com/en/2.0.x/tutorial/static/
使用 ZStack {
LinearGradient(gradient: Gradient(colors: [Color.green,Color.yellow,Color.orange,Color.red,Color.purple]),startPoint: .bottom,endPoint: .top)
GeometryReader { metrics in
Circle()
.stroke(Color.white,lineWidth: 2)
.frame(minHeight: 0,maxHeight: metrics.size.height)
.foregroundColor(Color.clear)
.position(x: metrics.size.width / 2,y: metrics.size.height * (CGFloat(10) / CGFloat(11)))
}
}
.cornerRadius(7.5)
.frame(minWidth: 0,maxWidth: 15)
,您可以生成该目录中任何文件的相对路径。
静态目录存在,所以公共文件和服务器端代码文件有明显区别。
如果你想在 html 文件中包含图像,你可以在模板中使用它们
url_for
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。