【发布时间】:2017-04-12 16:48:53
【问题描述】:
我有一个 Flask 视图,它生成数据并使用 Pandas 将其保存为 CSV 文件,然后显示数据。第二个视图为生成的文件提供服务。我想在下载文件后删除它。我当前的代码引发了权限错误,可能是因为after_request 在使用send_from_directory 提供文件之前删除了该文件。送达后如何删除文件?
def process_data(data)
tempname = str(uuid4()) + '.csv'
data['text'].to_csv('samo/static/temp/{}'.format(tempname))
return file
@projects.route('/getcsv/<file>')
def getcsv(file):
@after_this_request
def cleanup(response):
os.remove('samo/static/temp/' + file)
return response
return send_from_directory(directory=cwd + '/samo/static/temp/', filename=file, as_attachment=True)
【问题讨论】: