首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当内容长度为BytesIO长度时发生的BytesIO错误

当内容长度为BytesIO长度时发生的BytesIO错误
EN

Stack Overflow用户
提问于 2017-05-23 23:37:16
回答 1查看 649关注 0票数 0

我正在将python金字塔项目从python 2移到3,我使用ReportLab生成PDF文件并将其发送到前端。根据他们的例子,我需要使用io.BytesIO(),以前是StringIO()

现在,使用生成的文档长度在响应中设置Content-Length,我得到一个HPE_UNEXPECTED_CONTENT_LENGTH错误。

代码语言:javascript
运行
复制
pdf = io.BytesIO()
doc = SimpleDocTemplate(pdf)
doc.build(story)
pdfcontent = pdf.getvalue()
pdf.close()

response = Response(content_type='application/pdf', body=pdfcontent)
response.headers.add("Content-Length", str(len(pdfcontent)))

如果不设置Content-Length属性,则下载工作正常,但我不希望将其保留为空白。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-24 02:20:50

我不确定具体的示例和错误,但我非常肯定,当您提供这样的响应body字节时,金字塔会发送Content-Length头。不需要手动设置它,它已经有字节,因此知道它的大小。

您应该检查响应头(使用浏览器开发工具或命令行工具,如curl或httpie)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44146672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档