我有一個 Flask 應用程序,其中使用一個 Flaskroute服務器創建一個 csv 文件并將其保存到服務器。使用客戶端頁面上生成的按鈕,route觸發另一個 Flask以獲取最新文件,將其移動到 tmp 文件夾并使用send_file.現在,當我第一次運行該過程并下載文件時,一切都按預期進行。但是,第二次運行該過程時,它為我提供舊的 CSV 而不是新生成的 CSV。這一直持續到我點擊瀏覽器上的刷新按鈕。以下是我的應用程序代碼:from flask import Flask, render_template, flash, redirect, request, url_for, Response, send_fileimport osimport timeimport shutilimport globapp = Flask(__name__)app.config['SECRET_KEY'] = 'secret!'@app.route('/')def index(): return render_template('index.html')@app.route('/downloadcsv')def downloadcsv(): current = os.getcwd() try: list = glob.glob('{}/*.csv'.format(current)) except: print('No file found') basename = os.path.basename(os.path.normpath(max(list, key=os.path.getctime))) shutil.move(basename, './tmp/{}'.format(basename)) return send_file('./tmp/{}'.format(basename), as_attachment=True)如果需要,以下是“生成”下載按鈕的 JS 代碼:var download = '<div id="downloadsection" class="container-contact100-form-btn"><a href="/downloadcsv"><button id="download" class="contact100-form-btn"> <span>DOWNLOAD CSV</span></button></a></div>';如果我使下載過程過于復雜,也請告訴我...
Flask send_file 正在發送舊文件而不是最新文件
慕的地8271018
2021-12-29 10:41:44
