Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ImageHandler(BaseHandler):
- @tornado.web.authenticated
- def get(self):
- return self.render("image.html")
- @tornado.web.authenticated
- def post(self):
- user_id=self.current_user
- username = self.db.get("SELECT username from user WHERE id=%s", user_id)
- uploaded_image=self.request.files
- if imghdr.what('ignore', uploaded_image['avatar'][0]['body']) in ['jpeg','png']:
- avatar = Image.open(StringIO.StringIO(uploaded_image['avatar'][0]['body']))
- width, height = avatar.size
- if width > height:
- delta = width - height
- left = int(delta/2)
- upper = 0
- right = height + left
- lower = height
- else:
- delta = height - width
- left = int(delta)/2
- upper = 0
- right = width
- lower = width + upper
- avatar_square = avatar.crop((left, upper, right, lower))
- avatar_mini = copy.copy(avatar_square)
- avatar_square.thumbnail((48,48))
- avatar_mini.thumbnail((24,24))
- filename = username['username']+'.jpg'
- minifilename = username['username']+'_mini'+'.jpg'
- path_to_save = os.path.join('static', 'avatars', filename)
- path_to_mininail = os.path.join('static', 'avatars', minifilename)
- avatar_square.save(path_to_save)
- avatar_mini.save(path_to_mininail)
- self.db.execute("UPDATE user SET user_thumbnail=%s, user_mininail=%s WHERE id=%s", path_to_save, path_to_mininail, user_id)
- return self.write("Successfully uploaded the image")
- else: return self.write("file format is not accepted")
Add Comment
Please, Sign In to add comment