Return an image to the browser in python, cgi-bin

前端 未结 2 1007
予麋鹿
予麋鹿 2020-12-11 08:23

I\'m trying to set up a python script in cgi-bin that simply returns a header with content-type: image/png and returns the image. I\'ve tried opening the image and returnin

相关标签:
2条回答
  • 2020-12-11 09:11

    Are you including the blank line after the header? If not, it's not the end of your headers!

    print 'Content-type: image/png'
    print
    print f.read()

    0 讨论(0)
  • 2020-12-11 09:22
    1. You may need to open the file as "rb" (in windows based environments it's usually the case.
    2. Simply printing may not work (as it adds '\n' and stuff), better just write it to sys.stdout.
    3. The statement print "Content-type: image/png\n\n" actually prints 3 newlines (as print automatically adds one "\n" in the end. This may break your PNG file.

    Try:

    sys.stdout.write( "Content-type: image/png\r\n\r\n" + file(filename,"rb").read() )
    
    1. HTML responses require carriage-return, new-line
    0 讨论(0)
提交回复
热议问题