python3.x:使用cgi在浏览器中显示pdf

时间:2019-07-12 22:00:07

标签: python python-3.x pdf cgi

我正在将一些代码从python2升级到python3。我有以下cgi脚本在浏览器中显示pdf。它在python2中工作正常,但在python3中不工作。在python 3中,没有服务器错误,但是从浏览器中显示了一个错误,提示“无法加载PDF文档。”

我认为问题与编码有关,但是经过几个小时的搜索后,我感到茫然。当前的CGI脚本在这里:

#!/usr/local/bin/python3.7

filename='file.pdf'
file = open(filename,'rb')
fileData=file.read()
file.close() 

print('Content-Disposition: inline; filename="out.pdf"')
print('Content-type: application/pdf')
print('')
print(fileData)

1 个答案:

答案 0 :(得分:0)

以下代码对我有用:

#!/usr/local/bin/python3.7

filename='file.pdf'
file = open(filename,'rb')
fileData=file.read()
file.close() 

print('Content-Disposition: inline; filename="out.pdf"')
print('Content-type: application/pdf')
print('')
sys.stdout.flush()
sys.stdout.buffer.write(fileData)