PythonのピラミッドプロジェクトをPython 2から3に移動しています.PDFファイルを生成するためにReportLabを使用していました。彼らの例によると、以前はStringIO()
だったときにio.BytesIO()
を使う必要があります。Content-LengthからBytesIOまでの長さの場合のHPE_UNEXPECTED_CONTENT_LENGTHエラー
生成されたドキュメントの長さを使用してContent-Length
を私の応答に設定すると、HPE_UNEXPECTED_CONTENT_LENGTH
エラーが発生します。私は設定しない場合
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
は、ダウンロードが正常に動作属性が、私はむしろ、空白のままではないでしょう。
あなたは何を知っていますか?自動的に設定されます。 – Niel