Problem Displaying Pics

Rami Chowdhury rami.chowdhury at gmail.com
Tue Oct 6 22:40:56 CEST 2009


On Tue, 06 Oct 2009 13:26:19 -0700, Victor Subervi  
<victorsubervi at gmail.com> wrote:

> The code in question is generated automatically from another script. I  
> took
> your idea of the \r\n\r\n and added triple quoting and now it prints out
> this:
>
> #!/usr/local/bin/python
> import cgitb; cgitb.enable()
> import MySQLdb
> import cgi
> import sys,os
> sys.path.append(os.getcwd())
> from login import login
> user, passwd, db, host = login()
> form = cgi.FieldStorage()
> picid = int(form['id'].value)
> x = int(form['x'].value)
> pics = {1:'pic1',2:'pic2',3:'pic3',4:'pic4',5:'pic5',6:'pic6'}
> pic = pics[x]
> print '''Content-Type: text/html
>
> '''
> db = MySQLdb.connect(host=host, user=user, passwd=passwd, db=db)
> cursor= db.cursor()
> sql = "select " + pic + " from products where id='" + str(picid) + "';"
> cursor.execute(sql)
> content = cursor.fetchall()[0][0].tostring()
> cursor.close()
> print '''Content-Type: image/jpeg
>
> '''
> print
> print content
>
>
> To answer your questions, I have no idea what eNom has done to their
> servers, which is where the other site was hosted (never went live), but  
> am
> in the process of building on DreamHost, who seems to be a FAR better
> service than eNom, whom I actually had to report to the BBB and they  
> never
> fixed or acknowledged very obvious problems. At any rate, the above code
> gets the browser to print out all the binary "garbage" that should  
> translate
> into an image (you can look:
> http://13gems.com/stxresort/cart/getpic1.py?id=1&x=1 ). Any more ideas  
> would
> be helpful.

Going to that URL, my browser now tries to render an HTML page, and I can  
now see the 'Content-Type: image/jpeg' string being printed into the HTML  
source. Have you tried removing the 'Content-Type: text/html' header, with  
the new triple-quoted syntax?

-- 
Rami Chowdhury
"Never attribute to malice that which can be attributed to stupidity" --  
Hanlon's Razor
408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD)



More information about the Python-list mailing list