Отправить временный файл xlsx для загрузки с помощью Python Falcon
Клиент делает почтовый запрос, на который я должен ответить .xlsx файлом, сгенерированным данными, которые мне дали. Данные поступают отлично, я обрабатываю их и вижу, что файл.xlsx отправляется, но клиент не может его обработать. Я хочу, чтобы окно загрузки всплыло и загрузило файл, но ничего не происходит. Я не вижу, заключается ли проблема во внешнем интерфейсе или в моем API, так как я создаю файл в памяти.
Вот часть файла отправляется:
excel_filename = name + '.xlsx'
output = BytesIO()
wb = xlsxwriter.Workbook(output, {'in_memory': True})
ws = wb.add_worksheet()
row = col = 0
for colName in columnNames:
ws.write(row, col, colName)
col += 1
for r in rowData:
col = 0
row += 1
for cellValue in r:
ws.write(row, col, cellValue)
col += 1
wb.close()
xlsx_file = output.getvalue()
resp.set_header("Content-Disposition", "attachment; filename=\"%s\"" % excel_filename)
resp.data = xlsx_file
Вот запрос клиента:
this.client.post('/export-report-excel', { data })
Я искал пару дней, но не смог найти ничего, что решило бы мою проблему.
РЕДАКТИРОВАТЬ: дисплеи консоли
Ошибка: парсер не может разобрать ответ
0 ответов
Я думаю, вам нужно добавить
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
заголовок, указывающий тип MIME вашего файла xlsx