📜  在 send_file 之后烧瓶删除文件 - Python (1)

📅  最后修改于: 2023-12-03 15:37:31.464000             🧑  作者: Mango

在 send_file 之后烧瓶删除文件 - Python

在使用 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 之后烧瓶删除文件,实现在返回文件的同时将文件从服务器磁盘中删除的效果。在实际应用中,使用该功能时需要注意文件删除的时机和安全性问题,以避免不必要的问题。