Пример #1
0
 def post(self, username, img_max_size):
     if self.cur_user and self.cur_user.flag>1:
         self.header['Content-Type'] = "text/html"
         rspd = {'status': 201, 'msg':'ok'}
         
         file_content = self.request.get('filetoupload','')
         if file_content:
             imgobj = images.Image(file_content)
             max_w = int(img_max_size)
             if imgobj.width <= max_w:
                 #img_data = file_content
                 pass
             else:
                 imgobj.resize(width=max_w)
             imgobj.im_feeling_lucky()
             
             img_data = imgobj.execute_transforms(output_encoding=images.JPEG, quality=90)
             
             ni_obj = Photo(key_name = '%s-%s'%(username, str(int(time()))), content = img_data)
             ni_obj.put()
             if ni_obj.is_saved():
                 rspd['status'] = 200
                 rspd['msg'] = u'图片已成功上传'
                 rspd['url'] = '%s/photo/%s.jpg' % (BASE_URL, ni_obj.key().name())
             else:
                 rspd['status'] = 500
                 rspd['msg'] = u'图片上传失败,可能是网络问题或图片太大,请刷新本页再上传'
         else:
             rspd['msg'] = u'没有上传图片'
         self.write(json.dumps(rspd))
     else:
         self.error(403)
         self.write('403:forbidden')