def user_icon_up_file(): is_login() file = request.files['picfile'] if g.user and file and allowed_file( file.filename ): #user = session.query( Users_icon ).filter_by( uid = uid ).first() #0-9是随机的目录 tmp = str(random.randrange(0,9)) filename = tmp+'/'+str( g.user.id ) + "-" + str( int(time.time()) ) + "." + file.filename.rsplit( '.', 1 )[1] file.save( os.path.join( app.config['AVATAR_IMAGE_PATH'], filename ) ) try: ed_icon = Users_icon.query.filter_by( uid = g.user.id ).first() except: ed_icon = Users_icon() ed_icon.image_name = filename import Image iconname = str( g.user.id ) + "-"+ str( int(time.time()) ) + file.filename.rsplit( '.', 1 )[1] im = Image.open( image_path + "/" + filename ) image2 = pic_square( im, 48 ) image2.save( os.path.join( app.config['AVATAR_PATH'], filename ) ) ed_user = User.query.filter_by( id = g.user.id ).first() ed_user.avatar = filename db.session.commit() flash(u"图片上传成功,请编辑头像。", "success") #清除缓存 cache.delete('session_login_uid_'+str(session['user_id'])) return redirect(url_for("account.user_icon") )
def edit_group(slug): is_login() group = Group.query.urlname_get_info(slug) form = Group_EditForm(obj=group) #判断权限 if group.leader_id != g.user.id: flash(u'对不起,您无权操作!', "error") return redirect(url_for("group.group_view",slug=slug)) if form.validate_on_submit(): form.populate_obj(group) try: file = request.files['group_icon'] except: file = None #获取图标文件 if file: image_path = '/home/lyping/data/42ic/' + 'iapp/static/groupicon/image' icon_path = '/home/lyping/data/42ic/' + 'iapp/static/groupicon' ALLOWED_EXTENSIONS = set( ['bmp', 'png', 'jpg', 'jpeg', 'gif', 'BMP', 'PNG', 'JPG', 'JPEG', 'GIF'] ) #存储原文件 filename = str( group.id ) + "-" + str( int(time.time()) ) + "." + file.filename.rsplit( '.', 1 )[1] file.save( os.path.join( image_path, filename ) ) #产生缩略图 import Image from iapp.utils.pic import picopen, pic_square iconname = str( group.id ) + "-"+ str( int(time.time()) ) + file.filename.rsplit( '.', 1 )[1] im = Image.open( image_path + "/" + filename ) image2 = pic_square( im, 48 ) image2.save( os.path.join( icon_path, filename ) ) #存储图标名称 group.group_icon_url = filename db.session.commit() flash(u'资料修改成功!', "success") return redirect(url_for("group.group_view",slug=slug)) return render_template('group/edit_group.html', form = form,group=group)
def user_icon(): is_login() if request.method == 'POST': xyh = request.form['imgpos'].split('_') ed_icon = Users_icon.query.filter_by( uid = g.user.id ).first() ed_icon.x = x = int(xyh[0]) ed_icon.y = y = int(xyh[1]) ed_icon.h = h = int(xyh[2]) db.session.commit() #处理图片并保存 import Image im = Image.open( app.config['AVATAR_IMAGE_PATH'] + "/" + ed_icon.image_name ) box = (x,y,x+h,y+h) #裁剪图片 image = im.crop(box) #缩略图片 image2 = pic_square( image, 48) del image tmp = str(random.randrange(0,9)) filename = tmp+'/'+str( g.user.id ) + "-" + str( int(time.time()) ) + "." + ed_icon.image_name.rsplit( '.', 1 )[1] image2.save( os.path.join( app.config['AVATAR_PATH'], filename ) ) #更新用户资料 ed_user = User.query.filter_by( id = g.user.id ).first() ed_user.avatar = filename db.session.commit() flash(u"头像编辑成功。", "success") #清除缓存 cache.delete('session_login_uid_'+str(session['user_id'])) d = {} ed_icon = Users_icon.query.filter_by( uid = g.user.id ).first() d['icon_image_url'] = "avatar/image/" + ed_icon.image_name d['icon_x'] = ed_icon.x d['icon_y'] = ed_icon.y d['icon_h'] = ed_icon.h return render_template( 'account/user_icon.html',**d)