gpt4 book ai didi

python - 我的包含 send_file() 的函数似乎没有更新

转载 作者:太空宇宙 更新时间:2023-11-03 21:03:14 29 4
gpt4 key购买 nike

我正在使用 Flask 应用程序更新一些 PDF 文件,将它们转换为 Excel 文件并将该文件发送回用户。我正在使用实例文件夹来存储 pdf 和 excel 文件。

但是,当用户按下“下载”按钮以下载生成的 Excel 文件时,会下载旧文件(来自旧 session )。

此外,当我尝试更改代码时,例如,我更改了此 Excel 文件的名称:我可以在实例文件夹中看到新名称,但当我使用 webapp 下载该文件时,它仍然是旧名称(和旧文件)。我不知道网络应用程序在哪里寻找这个旧文件...

MEDIA_FOLDER = '/media/htmlfi/'
app = Flask(__name__)
app.config.from_object(Config)
INSTANCE_FOLDER = app.instance_path

app.config['UPLOAD_FOLDER'] = INSTANCE_FOLDER+MEDIA_FOLDER
@app.route('/file/')
def send():
folder = app.config['UPLOAD_FOLDER']
try:
return send_file(folder+ "file.xlsx", as_attachment=True)
finally:
os.remove(folder+ "file.xlsx")
<a href="{{ url_for('send') }}"  ><button class='btn btn-default'>DOWNLOAD</button></a>

总的来说,我对 webapp 很陌生,谢谢你的帮助:)

最佳答案

send_file 采用 cache_timeout 参数,该参数是您想要缓存下载的秒数。默认为 12 小时。

return send_file(
file.file_path(),
as_attachment=True,
cache_timeout=app.config['FILE_DOWNLOAD_CACHE_TIMEOUT'],
attachment_filename=file.file_name
)

http://flask.pocoo.org/docs/1.0/api/

关于python - 我的包含 send_file() 的函数似乎没有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588970/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com