使用 Django 和 nginx 的内存文件进行响应

使用 Django 和 nginx 的内存文件进行响应

我有一段代码在我的本地设置(在 Windows 上运行的 Django 嵌入式开发服务器)上运行良好,但在服务器(ubuntu + gunicorn + nginx)上却不行

我建立了一个 Excel 文件并从内存中发送它,就像这样

output = io.BytesIO()

workbook = Workbook(output, {"in_memory": True})

worksheet_user_list = workbook.add_worksheet()

# Fill file...

workbook.close()

output.seek(0)

response = HttpResponse(
    output.read(),
    content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
)
response[
    "Content-Disposition"
] = f"attachment; filename=test.xlsx"

output.close()

return response

本地设置响应标头:

内容类型:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

服务器响应标头:

内容类型:text/html;字符集=UTF-8

知道为什么吗?

相关内容