Python Klein - 如何return Excel 文件作为附件?
Python Klein - How to return Excel file as attachment?
我正在为我的小 API 使用 Python Klein。可以 return csv 作为响应,但是这可能到 return Excel 文件吗? Flask 有这个功能,但 Klein 呢?
任务:
硬盘上有 Excel 文件并希望 return 将其作为附件,以便用户可以通过 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')
我正在为我的小 API 使用 Python Klein。可以 return csv 作为响应,但是这可能到 return Excel 文件吗? Flask 有这个功能,但 Klein 呢?
任务:
硬盘上有 Excel 文件并希望 return 将其作为附件,以便用户可以通过 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')