用户将文件下载到他们的本地目录
User to download file to their local directory
后端 - 我写了一个 python 脚本,它在一些聚合后创建一个 csv 文件。
前端 - 一旦方法完成 运行 并生成 .csv 文件并保存到服务器中的目录中,我希望能够提示用户将 .csv 文件保存在他们的本地计算机(就像在网页上按 "save as..." 时得到的 windows 提示一样)。
这是迄今为止我在 and 中学到的内容的示例:
示例代码:
with open(save_path + unique_filename + ".csv", 'w', encoding = 'utf8') as g:
writer = csv.writer(g, lineterminator = '\n')
writer.writerow(['name', 'place', 'location'])
HTML:
@app.route('/login', method='POST')
def do_login():
category = request.forms.get('category')
return '''
<html><body>
Hello. <a href="/getCSV"> Save Results </a>
</body></html>
'''
@app.route("/getCSV", methods = ['GET', 'POST'])
def getPlotCSV():
return send_from_directory(save_path + unique_filename + ".csv", as_attachment=True)
if __name__ == "__main__":
run(app, host = 'localhost', port = 8000)
我的问题是:
1) send_from_directory 是烧瓶的,瓶子相当于什么?
2) 我应该在代码的什么地方放置我创建的 csv,以便用户可以将其下载到他们的本地计算机?
3) 我的代码还有什么问题?
瓶子示例:来自https://bottlepy.org/docs/dev/tutorial.html
@route('/download/<filename:path>')
def download(filename):
return static_file(filename, root='/path/to/static/files', download=filename)
后端 - 我写了一个 python 脚本,它在一些聚合后创建一个 csv 文件。
前端 - 一旦方法完成 运行 并生成 .csv 文件并保存到服务器中的目录中,我希望能够提示用户将 .csv 文件保存在他们的本地计算机(就像在网页上按 "save as..." 时得到的 windows 提示一样)。
这是迄今为止我在
示例代码:
with open(save_path + unique_filename + ".csv", 'w', encoding = 'utf8') as g:
writer = csv.writer(g, lineterminator = '\n')
writer.writerow(['name', 'place', 'location'])
HTML:
@app.route('/login', method='POST')
def do_login():
category = request.forms.get('category')
return '''
<html><body>
Hello. <a href="/getCSV"> Save Results </a>
</body></html>
'''
@app.route("/getCSV", methods = ['GET', 'POST'])
def getPlotCSV():
return send_from_directory(save_path + unique_filename + ".csv", as_attachment=True)
if __name__ == "__main__":
run(app, host = 'localhost', port = 8000)
我的问题是:
1) send_from_directory 是烧瓶的,瓶子相当于什么?
2) 我应该在代码的什么地方放置我创建的 csv,以便用户可以将其下载到他们的本地计算机?
3) 我的代码还有什么问题?
瓶子示例:来自https://bottlepy.org/docs/dev/tutorial.html
@route('/download/<filename:path>')
def download(filename):
return static_file(filename, root='/path/to/static/files', download=filename)