📅  最后修改于: 2023-12-03 15:37:31.464000             🧑  作者: Mango
在使用 Flask 框架的 send_file
函数返回文件之后,有时候需要将该文件从服务器的磁盘中删除。本文将介绍如何使用 Python 和烧瓶框架实现这个功能。
# 引入 send_file 函数
from flask import Flask, send_file
import os
app = Flask(__name__)
@app.route('/file')
def get_file():
# 构造文件路径
filename = 'example.pdf'
filepath = os.path.join(app.root_path, 'static', filename)
# 返回文件
return send_file(filepath, as_attachment=True)
@app.route('/delete')
def delete_file():
# 构造文件路径
filename = 'example.pdf'
filepath = os.path.join(app.root_path, 'static', filename)
# 删除文件
os.remove(filepath)
# 返回结果
return '文件删除成功'
if __name__ == '__main__':
app.run()
在上述代码中,我们定义了两个路由函数,一个用于返回文件,另一个用于删除文件。在第一个路由函数中,我们使用 Flask 的 send_file
函数返回文件,并将文件名设置为附件,以实现文件下载的效果;在第二个路由函数中,我们使用 Python 的 os
模块的 remove
函数删除文件,并返回删除结果。
通过上述代码,我们可以在 send_file 之后烧瓶删除文件,实现在返回文件的同时将文件从服务器磁盘中删除的效果。在实际应用中,使用该功能时需要注意文件删除的时机和安全性问题,以避免不必要的问题。