0
我使用os.system調用將svg數據轉換爲圖像的外部程序(Apache Batik)。然後我想下載用戶磁盤中的圖像。在os.system中清除Python CGI中的stdout
但每當我打電話與Apache的CGI,我得到的錯誤:
malformed header from script. Bad header=About to transcode 1 SVG file
也就是說從使用os.system命令的標準輸出,所以搜索我發現我可以用sys.stdout.flush()
來解決該問題後,但不幸的是它仍然給出了同樣的錯誤。這裏的腳本:
import os
import cgi
import sys
arg = cgi.FieldStorage()
os.system('java -Djava.awt.headless=true -jar "batik-1.7/batik-rasterizer.jar" "pythonchart.svg"')
sys.stdout.flush() //NOT WORKING, STILL THE SAME ERROR
print "Content-Type: image/png"
print "Content-Disposition: attachment; filename=pythonchart.png"
print
print open("pythonchart.png","rb").read()