我接到了烧瓶路径的ajax调用。这个ajax调用位于按钮的onlick函数内部(因为我必须发送一些预处理的数据)。在python代码中,我创建了一个带有2个标签的xlsx spreadhseet,并将文件保存在服务器中。然后,我尝试在客户端中下载它,但没有成功。没有错误,并且响应为200 OK,但是未下载文件。 这是我的python代码:
@app.route('/download_file', methods=['GET', 'POST'])
def download_file():
v1 = request.json['v1']
v2 = request.json['v2']
v1_df = pd.DataFrame(v1, columns=V1_HEADERS)
v2_df = pd.DataFrame(v2, columns=V2_HEADERS)
final_excel = f'resources/final_excel.xlsx'
writer = pd.ExcelWriter(final_excel, engine='xlsxwriter')
v1_df.to_excel(writer, sheet_name='V1', index=False)
v2_df.to_excel(writer, sheet_name='V2', index=False)
writer.save()
return send_file(final_excel, as_attachment=True, mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
我也尝试了send_directory
,但没有成功。
我在做什么错?我有点绝望。
非常感谢您。
答案 0 :(得分:0)
在我看来,您似乎无法正确处理Ajax回调中返回的file
。由于这是Ajax调用,它将被返回到相关的回调中供您处理。
因此,在下面的.JS
代码中,根据需要进行处理,例如
success:function(callback){
var temp = 'file-> ' + callback;
$(doc).text(temp)
}
这可能也有帮助-Download a file