파이썬 피라미드 프로젝트를 파이썬 2에서 3으로 옮깁니다. ReportLab을 사용하여 PDF 파일을 생성하고 프런트 엔드로 보냈습니다. 그들의 예에 따르면, 이전에 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