老师,请问一下像这种文件下载功能是怎么实现的?
来源: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 response3、访问http://127.0.0.1:5000/demo, 点击下载按钮,即可下载demo.jpg文件(demo.jpg文件在项目中存在)

同学可先学完flask课程,回头再优化下载功能,祝:学习愉快!
相似问题