Carsten Haese wrote:
Victor Subervi wrote:
[snip...]

print 'Content-type: image/jpeg'
print 'Content-Encoding: base64'
print
print pic().encode('base64')
print '</body></html>'

[snip...]

Why are you printing "</body></html>" at the end of a page that is
supposed to be a base64-encoded JPEG file?

I'm testing my "psychic" mode today.

<psychic>
Your old script produces the line drawing image in http://allpointsmarinevi.com/stxresort/cart/getpic1.py; a JPEG image to be exact.

Now, you want to embed this image into a webpage.

You thought: "well I could simply put the code I used previously to the code that produced the HTML"

Let's say, you used something like this to produce the image:

###########################################
# in file getpic.py
# for simplicity, the image is pre-generated
def foo():
    img = open('myimg.jpg')
    print 'some header information'
    print img.read()
###########################################



While your HTML-producing code is something like this:

########################
# note that I avoided putting an exact working code
# so you don't start copy and pasting without
# digesting and understanding what you're doing

import getpic
print 'html header'
getpic.foo()
print 'html header end'
########################

You thought... this should work, I just called a code that previously works.

Well, if my psychic prediction capability doesn't have bugs in it, and the weather is fine today, and the moon is full, and the 42nd road is not jammed today; then, as Carsten Haese remarked before, you have no idea why getpic.py works but calling a function it doesn't.

First off; HTML doesn't have a way to "embed" image information[1]. What it can do, and what you should do is to "link" the image (unless you want to invite neverending troubles including poor browser support and a standard that practically nobody uses).

First and foremost though, please understand how HTML works; particularly <img> tag.
This is how you "link" image inside a webpage:
<img src="relative/url/to/image.jpg" />

Since you don't actually use a static image but a script-generated image; as long as the server is configured to handle python script, you can use this as well:
<img src="relative/url/to/image.py" />

[1] actually, there is a standard for image embedding; but browser support is flaky, at best. Especially for IE. Hint: <img src="data:image/png;base64,BASE64ENCODEDIMAGESTRING" />

</psychic>
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to