Python Django PDFKIT[Errno 9]错误的文件描述

2024-06-16 18:55:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pdfkit和wkhtmltoppdf生成pdf文档。当我生成第一个pdf时一切都很好。当我快速(在5秒钟内)生成另一个文件时,我得到错误[Errno 9]错误的文件描述符。如果我关闭错误(在浏览器中后退一步)并再次打开,它将创建pdf。在

我的视图.py在

config = pdfkit.configuration(wkhtmltopdf='C:/wkhtmltopdf/bin/wkhtmltopdf.exe')
pdfgen = pdfkit.from_url(url, printname, configuration=config)
pdf = open(printname, 'rb')

response = HttpResponse(pdf.read())
response['Content-Type'] = 'application/pdf'
response['Content-disposition'] = 'attachment ; filename =' + filename
pdf.close()
return response

可能需要注意的是:当从命令行(python)运行时,我在IIS8上运行这个站点管理.pyrunserver)错误不存在。在

任何关于如何处理这个错误的指导方针都是很好的。在


Tags: 文件文档configurlpdfresponse错误content
2条回答

如果没有进一步的信息,我将把我的评论转换成一个答案。。。在

最有可能的问题是,当您尝试快速重新加载(通过from_URL)时,您的URL被web服务器拒绝,或者您在访问试图创建的本地文件时遇到问题。在

您可以通过将False作为输出文件名直接写入变量来消除后者,例如pdf = pdfkit.from_url('google.com', False)。在

如果这不能解决问题,那么您的问题几乎可以肯定是服务器拒绝了该URL,因此您需要查看该服务器上的诊断信息。在

When i quickly (within 5 seconds) generate an other

这一点表明你的代码是完美的,问题在于你的浏览器拒绝了Peter建议的URL。在

错误的原因很可能与file buffer flush有关。考虑在适当的地方冲洗缓冲器。在

相关问题 更多 >