The code for the model UserImageStore is : dal_db.define_table('UserImageStore', Field('profile_image','upload',uploadfield='profile_blob'), Field('profile_blob','blob'), Field('upload_ts','datetime'), Field('change_ts','datetime') )
and the my show_image function is : def show_image(): return response.download(request,dal_db) On Monday, June 18, 2012 5:58:27 PM UTC+5:30, Anthony wrote: > > What is your db.UserImageStore model, and what is the code for downloading > the image? > > On Monday, June 18, 2012 7:49:58 AM UTC-4, Sushant Taneja wrote: >> >> Hi, >> >> I am building an app using AppEngine + Web2py >> >> A user's profile image is retrieved from his Facebook profile via the >> Graph API and stored in database. >> The image is stored and displayed correctly. >> But whenever I right-click and save the image, the saved file name is >> just some set unicode characters I guess and not the name from which the >> image is saved. >> >> *Eg: *-îÏìÄÊ-¨-¢H-¦_â.jpg >> >> How do I correct this file name ? Below is the code which I am using to >> generate image names: >> >> >> def create_user_pic_fb(): >> """ >> This method fetches the FB profile image of the user and sets it >> as user profile image >> """ >> >> from google.appengine.api import urlfetch >> from random import randint >> >> user_fb_id = request.args[0] >> user_profile_image_url = >> FB_PROFILE_IMAGE_URL.replace('USER_FB_ID',user_fb_id) >> >> random_str = str(randint(1,99999999)) >> logger.debug(random_str) >> >> # Get profile image blob from facebook >> result = urlfetch.fetch(user_profile_image_url) >> logger.debug("Read profile image") >> profile_image = result.content >> >> profile_image_name = 'UserImageStore.profile_image.' + random_str + >> '_' + user_fb_id + '.' + result.headers['Content-Type'].split('/').pop() >> >> # Insert the images in DB >> dal_db.UserImageStore.insert(profile_image=profile_image_name, >> profile_blob=profile_image, >> upload_ts = datetime.now(), >> change_ts = datetime.now() >> ) >> >> >> >> The same result is received from using urllib2 instead of urlfetch. >> >