flask通过路径将图片列表传到前端展示并下载
时间: 2024-05-04 21:15:33 浏览: 104
可以通过 Flask 的路由和 Jinja2 模板引擎来实现将图片列表传到前端展示并下载。具体步骤如下:
1. 在 Flask 应用中定义路由,例如:
```
@app.route('/image-gallery/')
def image_gallery():
# 获取图片列表
image_list = ['image1.png', 'image2.png', 'image3.png']
# 渲染模板并传递图片列表
return render_template('gallery.html', images=image_list)
```
2. 在模板文件(gallery.html)中使用 Jinja2 模板引擎渲染图片列表并展示,例如:
```
{% for image in images %}
<img src="{{ url_for('static', filename='images/' + image) }}">
{% endfor %}
```
3. 添加下载按钮,通过链接来下载图片,例如:
```
<a href="{{ url_for('download_image', image=image) }}">下载</a>
```
4. 在 Flask 应用中定义下载路由,例如:
```
@app.route('/download/<image>/')
def download_image(image):
# 获取图片路径
image_path = os.path.join(app.root_path, 'static', 'images', image)
# 返回文件下载响应
return send_file(image_path, as_attachment=True)
```
通过这样的方式,就可以实现在 Flask 应用中将图片列表传到前端展示,并实现下载功能。