Just to give it a follow-up, As soon as I moved the same code from my
module (which basically is a class that is instantiated from one of my
controllers, ("response" is also passed when the instance is created)
to my contoller (and removed the self references) it worked! - Still
don't know why this behavior though, it does work with base64-encoded
text (LONGTEXT) and blob (LONGBLOB) column types.

Thanks!

Julio

On Apr 5, 9:28 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> As far as I know text in mysql is limited to 32K Bytes. Could this be
> a problem? Did you try using blobs? web2py automatically base64
> encodes blobs.
>
> Massimo
>
> On Apr 5, 5:46 pm,Speedbird<ju...@techfuel.net> wrote:
>
>
>
> > Hi all, hope someone has a suggestion on how to handle this issue,
> > which I am running out of optiohns on how to deal with it.
>
> > In MySQL, i have a table with a "text" (LONGTEXT) column that I use to
> > store base64-encoded image information, I do low-level validation to
> > make sure the data is actually an image, and the size and image
> > properties (height, width) are always checked, in short, I only store
> > data for very small images (avatars, in this case). I am positive that
> > the base64-encoded data corresponds to that of a valid image if I
> > base64-decode it.
>
> > Since I store the raw data, I am also storing its content type in
> > another column in the same table.
>
> > Now, here is the problem:
>
> > Here's my view:
>
> > <img src="{{=apphelper.display_image(username=username)}}" alt="" />
>
> > And my "apphelper" defined as a module and loaded up in one of my
> > controllers has this:
>
> >     def display_image(self, auth_user):
> >         """ Returns the avatar raw data """
> >         avatar_info = self.db
> > (self.db.zf_member_avatars.auth_user==auth_user).select
> > (self.db.zf_member_avatars.content_type,
> > self.db.zf_member_avatars.avatar_image)
> >         if len(avatar_info):
> >             raw_image = base64.decodestring(avatar_info
> > [0].avatar_image)
> >             self.response.headers['Content-Type'] = '%s' % (avatar_info
> > [0].content_type)
> >             return raw_image
>
> > Problem is that invariably I see the message "The Image "..." cannot
> > be displayed because it contains errors.
>
> > I am leaning towards this being some kind of encoding or something, if
> > I view the contents of "raw_image" before is passed back to the view,
> > the "raw" data is a correct, binary representation of my original file
> > that I uploaded and encoded previously.
>
> > Thanks for any pointers..
>
> > Julio- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to