如何拿到后端传来的xlsx,并实现下载功能
时间: 2024-02-27 14:56:23 浏览: 152
要实现下载功能,通常需要在后端设置响应头信息,将文件流返回给前端浏览器。具体实现步骤如下:
1. 在后端,首先需要读取要下载的 Excel 文件,并将其转换为字节流。
2. 设置响应头信息,告诉浏览器这是一个要下载的文件,并设置文件名和文件类型。
3. 将文件字节流写入响应体,以便浏览器可以下载并保存文件。
示例代码如下(使用 Flask 框架):
```python
from flask import Flask, send_file
import os
app = Flask(__name__)
@app.route('/download_excel')
def download_excel():
# 读取 Excel 文件
file_path = 'path/to/excel.xlsx'
with open(file_path, 'rb') as f:
file_stream = f.read()
# 设置响应头信息
response = make_response(file_stream)
response.headers['Content-Disposition'] = 'attachment; filename={}'.format(os.path.basename(file_path))
response.headers['Content-Type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
return response
```
在上面的代码中,`send_file` 函数可以直接返回文件,并自动设置响应头信息。`Content-Disposition` 表示设置文件名及下载方式,`Content-Type` 表示文件类型。
阅读全文