python - Python Klein - 如何将 Excel 文件作为附件返回?
问题描述
我将Python Klein用于我的小型 API。可以返回 csv 作为响应,但这可以返回 Excel 文件吗?Flask 有这个功能,但是 Klein 呢?
任务:
硬盘上有 Excel 文件,并希望将其作为附件返回,因此用户可以通过 API 调用下载它。
示例: 使用 csv 文件一切正常
@app.route('/download/', branch=True, methods=['GET'])
def download(request):
request.setHeader("Access-Control-Allow-Origin", "*")
request.setHeader('Content-Type', 'text/csv')
request.setHeader('Content-Disposition', 'attachment; filename=test.csv')
file = open('test.csv', "r")
csv_data = file.read()
return csv_data
但是如何处理 Excel 文件呢?
解决方案
找到解决方案:
from twisted.web.static import File
from klein import Klein
app = Klein()
@app.route('/', branch=True)
def pg_index(request):
request.setHeader("Access-Control-Allow-Origin", "*")
request.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
request.setHeader('Content-Disposition', 'attachment; filename=test.xlsx'.format(list_id))
return File('./test.xlsx')
推荐阅读
- java - 使用 RabbitMq MessageListenerContainer 的 Reactor Flux 超时
- azure-cosmosdb - 如何在 ARM 模板中获取为表 API 创建的 cosmos DB 的连接字符串
- javascript - 如何使用 AJAX 将值表单控制器放入弹出窗口
- php - Laravel 通过使用多态关系在 Laravel 中查询(函数 find() )
- javascript - 如何遍历多个 json 数组,对其特定字段执行函数并将收集到的结果返回到 api 中?
- python - PyTorch GAN RuntimeError:在 DataLoader 工作进程 0 中捕获 RuntimeError
- blazorinputfile - 如何在 Blazor Web 程序集中获取 BlazorInputFile 的完整目录路径
- javascript - 如何从维基百科页面 URL 获取页面标题?
- swift - 类型的值没有成员委托错误
- c - MISRA:复合赋值运算符