老师,请问一下像这种文件下载功能是怎么实现的?
来源:2-1 项目搭建
qq_黑猫卡哇伊_0
2021-11-03 21:04:43
1回答
好帮手慕燕燕
2021-11-04
同学,你好!慕课网的平台不是基于Python语言开发的,在Flask框架中也可以实现类似的下载功能
1、创建html文件,前台显示下载按钮
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文件下载</title> </head> <body> <h3><a href="{{ url_for('download',fileName='demo.jpg') }}" class="btn btn-primary">下载</a></h3> </body> </html>
2、在视图函数中实现相应的逻辑
from flask import Flask, render_template from flask import send_file from flask import request, make_response app = Flask(__name__) @app.route("/demo") def demo(): return render_template('download.html') @app.route("/download") def download(): # return send_from_directory(r"",filename="demo.jpg",as_attachment=True) fileName = request.args.get("fileName") response = make_response(send_file(fileName)) response.headers["Content-Disposition"] = "attachment; filename={};".format(fileName) return response
3、访问http://127.0.0.1:5000/demo, 点击下载按钮,即可下载demo.jpg文件(demo.jpg文件在项目中存在)
同学可先学完flask课程,回头再优化下载功能,祝:学习愉快!
相似问题