StringIO MySQL data blob Image problem

dimitri pater dimitri.pater at gmail.com
Wed Sep 5 17:32:25 EDT 2007


ah, sorry
a+=1 should be after 'Do stuff here'  of course...


On 9/5/07, dimitri pater <dimitri.pater at gmail.com> wrote:
> Hi,
> the following code works when inserting images in reportlab tables:
>
> (result4 is a query result)
> a=0
> for i in result4:
>            cfoto = StringIO()
>            cfoto.write(result4[a][9].tostring())
>            dfoto = cfoto.getvalue()
>            fileFoto = open(str(a)+'temp.jpg','wb')
>            fileFoto.write(dfoto)
>            fileFoto.close()
>            foto = Image(str(a)+'temp.jpg')
>            a+=1
>
>           Do stuff here (insert the Image)
>
> The problem with this code is that I need to create a unique file
> (str(a)+'temp.jpg'), I tried to use a single temp.jpg but it kept
> using the data from the first record. Tried flush(), truncate(0), but
> it didn't work. (My mistake probably ;-)
> But the images show in the PDF so that's fine for now.
>
> On 9/5/07, dimitri pater <dimitri.pater at gmail.com> wrote:
> > ---------- Forwarded message ----------
> > From: dimitri pater <dimitri.pater at gmail.com>
> > Date: Sep 5, 2007 9:13 PM
> > Subject: Re: StringIO MySQL data blob Image problem
> > To: Tim Golden <mail at timgolden.me.uk>
> >
> >
> > > Well, I'm mystified. Not by your results: that exactly what I
> > > expected to get, but because you're doing everything *except*
> > > manipulating an image and putting it into a PDF via ReportLab.
> > >
> > Dear Tim,
> > you are right of course, I have been trying to put the StringIO in a temp file:
> > cfoto=StringIO
> > cfoto.write(result[0][1].tostring())
> > dfoto=cfoto.getvalue()
> > fileFoto=open('temp.jpg','wb')
> > fileFoto.write(dfoto)
> >
> > and indeed, the blob from MySQL is saved as an image!
> > however,
> > foto= Image('temp.jpg')
> > and inserting foto into a table results in:
> > x = struct.unpack('B', image.read(1))
> > error: unpack str size does not match format
> > oh, well... still needs some work
> > BTW: I used 'local' images before (I mean they did not originate from
> > a DB), that worked well in Reportlab's tables.
> > Thanks, I am getting there (I think)
> >
> >
> > --
> > ---
> > You can't have everything. Where would you put it? -- Steven Wright
> > ---
> > please visit www.serpia.org
> >
>
>
> --
> ---
> You can't have everything. Where would you put it? -- Steven Wright
> ---
> please visit www.serpia.org
>


-- 
---
You can't have everything. Where would you put it? -- Steven Wright
---
please visit www.serpia.org



More information about the Python-list mailing list