后端
# 诗和远方 下载功能
from flask import Flask, send_file
app = Flask(__name__)
@app.route('/download', methods=['GET'])
def download_file():
# 文件路径 1.txt为测试文件 在项目的static/file目录下
# 获取文件的路径和文件名
filepath = os.path.join('static/activity/PoetryAndTheDistance/file/附件1:“智信杯”辽宁省普通高校大学生信息素养大赛活动方案.docx')
try:
# 尝试打开文件并发送
return send_file(filepath, as_attachment=True)
except PermissionError:
return '文件权限错误,无法访问', 403
except Exception as e:
return f'发生错误:{str(e)}', 500
if __name__ == '__main__':
app.run()
-
file_path
变量中提供要下载的文件的路径。 - 当访问
download
路由时,会触发download_file
函数,该函数使用send_file
方法将文件发送到客户端以进行下载 -
as_attachment=True
表示将文件作为附件下载,而不是在浏览器中直接打开。
前端
<button id="download-btn">点击下载文件</button>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('#download-btn').click(function() {
window.location.href = '/download'; // 发送 GET 请求直接下载文件
});
});
</script>
文章来源地址https://www.toymoban.com/news/detail-725573.html
文章来源:https://www.toymoban.com/news/detail-725573.html
到了这里,关于flask项目中 实现下载文件功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!