我使用pdfkit和wkhtmltopdf來生成pdf文檔。當我生成第一個pdf時,一切都很好。當我快速(5秒內)生成其他我得到錯誤[Errno 9]錯誤的文件描述符。如果我關閉錯誤(在瀏覽器中退後一步)並再次打開,它將創建pdf。Python Django PDFKIT - [Errno 9]錯誤的文件描述符
我views.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
也許重要的一點:我運行IIS8這個網站上,從命令行(蟒蛇manage.py runserver命令)運行時錯誤是不存在的。
任何關於如何處理這個錯誤的指導方針都會很棒。
'printname'從哪裏來? –
最有可能的問題是,當您嘗試快速重新加載(通過from_url)或您在嘗試創建本地文件時遇到問題時,您的URL將被Web服務器拒絕。您可以嘗試通過將False作爲輸出文件名直接寫入變量來消除後者 - 例如, pdf = pdfkit.from_url('http://google.com',假) –
你可以發佈錯誤發生時間跨度的服務器日誌嗎? (我知道你說沒有任何錯誤,我只是有一些預感,並希望看到請求信息,以確保我沒有錯之前,建議一個答案) – yuvi