You have two actions:
list_image() -> returns an image (always image 1?)
ist_images() -> returns the html page.
In the latter you can do:
View:
{{extend 'layout.html'}}
<h3>Display Jpeg Images</h3>
<table border="1">
<tr>
<th>Image Title</th>
<th>Image Blob</th>
</tr>
{{for img in images:}}
<tr>
<td>{{ =img.title }}</td>
<td>{{=img.image_blob }}/</td>
<td><img src="{{=URL('list_image',args=img.id)}}" /></td>
<!-- added this line -->
</tr>
{{pass}}
</table>
Anyway, I have the impression you are reinventing the wheel a little.
Did you look into "upload" field and the "download"action? They are
designed to do what you need.
On Feb 23, 11:28 pm, BrendanC <[email protected]> wrote:
> OK - Quick follow up here - I was able to display an blob image using the
> call:
>
> def list_image():
>
> myid = 1 # test
> image=db(db.xim.id==myid).select(orderby=db.xim.title)
> response.headers['Content-Type']='image/jpeg'
>
> mystream = image.image_blob
> return mystream
>
> However this renders an image in separate page with no additional info.
> What I really want is to display the stream as part of a template (within
> a table) with additional related image info (Title, Comments etc). IOW I
> want to embed the stream within an html template, rather than as a
> separate, standalone file.
>
> Am I missing piece of the puzzle here?