后端返回文件流excel
时间: 2023-08-17 12:07:07 浏览: 137
如果你想要后端返回文件流的方式将 Excel 文件传输给前端,你可以使用 Flask 的 `send_file` 函数来实现。以下是一个示例代码:
```python
from flask import Flask, send_file
app = Flask(__name__)
@app.route('/download_excel', methods=['GET'])
def download_excel():
# 获取 Excel 文件路径
excel_path = 'path/to/your/excel/file.xlsx'
# 返回文件流给前端
return send_file(
excel_path,
as_attachment=True,
attachment_filename='example.xlsx',
mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
if __name__ == '__main__':
app.run()
```
在这个示例中,我们定义了一个路由 `/download_excel` 来处理下载请求。在处理函数中,我们使用 `send_file` 函数来返回文件流给前端。你需要将 `excel_path` 替换为你的 Excel 文件的实际路径。
`as_attachment=True` 表示将文件作为附件下载,`attachment_filename` 是下载时显示的文件名。`mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'` 是指定响应的 MIME 类型为 Excel 文件。
这样,当前端发送 GET 请求到 `/download_excel` 路由时,后端将返回 Excel 文件流给前端进行下载。前端可以根据需要处理这个文件流,例如保存为本地文件或进行其他操作。
阅读全文