Отправить временный файл 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

Другие вопросы по тегам