Python 即使服务器返回不同的zip文件,浏览器也会返回相同的zip文件

Python 即使服务器返回不同的zip文件,浏览器也会返回相同的zip文件,python,flask,Python,Flask,我使用flask为我的前端提供一个zip文件,带有ReactJs、HTML和CSS。在服务器运行时,zip文件的内容可能会更改。然而,我注意到,当我下载了几次空的zip文件,并且当服务器内容更新时,访问链接仍然会返回一个空的zip文件。 此外,即使服务器离线,访问相同的链接仍然会给我相同的可下载的空zip文件。 我怀疑浏览器之前正在缓存服务器的响应,因此将重复返回相同的空zip文件。 我应该对服务器或前端做些什么来防止发生返回相同文件的问题 @app.route('/download-zip/&

我使用flask为我的前端提供一个zip文件,带有ReactJs、HTML和CSS。在服务器运行时,zip文件的内容可能会更改。然而,我注意到,当我下载了几次空的zip文件,并且当服务器内容更新时,访问链接仍然会返回一个空的zip文件。 此外,即使服务器离线,访问相同的链接仍然会给我相同的可下载的空zip文件。 我怀疑浏览器之前正在缓存服务器的响应,因此将重复返回相同的空zip文件。 我应该对服务器或前端做些什么来防止发生返回相同文件的问题

@app.route('/download-zip/<classID>')
def request_zip(classID):
    data = BytesIO() 
    with zipfile.ZipFile(data, mode='w') as z:
        try:
            img_folder=r"./data/attendance_images"
            class_img_folder=os.path.join(img_folder,classID)
            img_list=os.listdir(class_img_folder)
            for img_name in img_list:
                img_path=os.path.join(class_img_folder,img_name)
                z.write(img_path, arcname=img_name)

            log_folder=r"./data/attendance_logs"
            log_file=os.path.join(log_folder,classID+".txt")
            z.write(log_file,arcname=classID+".txt")
        except:
            pass

    data.seek(0)
    
    return send_file(
        data,
        mimetype='application/zip',
        as_attachment=True,
        attachment_filename='data.zip'
    )
@app.route('/download-zip/'))
def请求邮政编码(classID):
data=BytesIO()
将zipfile.zipfile(数据,mode='w')作为z:
尝试:
img_folder=r.“/data/attention_images”
class\u img\u folder=os.path.join(img\u folder,classID)
img\u list=os.listdir(class\u img\u文件夹)
对于img_列表中的img_名称:
img\u path=os.path.join(类\u img\u文件夹,img\u名称)
z、 写入(img\U路径,arcname=img\U名称)
日志文件夹=r.“/数据/考勤日志”
log_file=os.path.join(log_文件夹,classID+“.txt”)
z、 写入(日志文件,arcname=classID+“.txt”)
除:
通过
数据搜索(0)
返回发送文件(
数据,
mimetype='application/zip',
如附件=真,
附件_filename='data.zip'
)
HTML很简单

<button id="generatelog" onclick="window.location.href = 'http://127.0.0.1:5000/download-zip/30021';">Generate Log</button>
生成日志

您能否在此处提供处理传输的javascript/react代码,并确保您的api响应在运行时未被react缓存,否则它将返回缓存的响应,而不是实际响应。我已更新帖子以包含前端。它只是一个带有可下载zip文件链接的按钮。我的问题是如何使代码的这一特定部分不可缓存,假设我关于浏览器缓存数据的理论是正确的,请检查“网络”选项卡中发生的网络调用,并查看它是否提供缓存响应,而不会在运行时准确命中api。尝试禁用html中的缓存,看看是否有效。或者,获取数据的另一种方法是单击按钮,调用一个javascript函数,该函数通过api调用url,而不使用存储缓存头。