def change_icon(): form = IconForm() if form.validate_on_submit(): # 生成随机的文件名 suffix = os.path.splitext(form.icon.data.filename)[1] name = rand_str() + suffix # 保存上传头像 photos.save(form.icon.data, name=name) # 生成缩略图 pathname = os.path.join( os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], name)) img = Image.open(pathname) img.thumbnail((64, 64)) img.save(pathname) # 删除原有头像 if current_user.icon != 'default.jpg': # 第一次更换头像不删除,除此之外原来的头像都要删除 os.remove( os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], current_user.icon)) # 更新新的头像名至数据库 current_user.icon = name db.session.add(current_user) flash('头像已更换') return render_template('user/change_icon.html', form=form)
def icon(): form = IconForm() if form.validate_on_submit(): #生成随机的文件名 suffix = os.path.splitext(form.icon.data.filename)[1] filename = random_string() + suffix #保存文件 photos.save(form.icon.data, name=filename) #拼接完整的路径名 pathname = os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], filename) #生成缩略图 img = Image.open(pathname) #设置图片大小 img.thumbnail((128, 128)) #重新保存 img.save(pathname) #删除原来的头像,默认的除外 if current_user.icon != 'default.jpg': os.remove( os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], current_user.icon)) #保存到数据库 current_user.icon = filename db.session.add(current_user) flash('头像已修改') #获取头像的url img_url = photos.url(current_user.icon) return render_template('user/icon.html', form=form, img_url=img_url)
def change_icon(): form = IconForm() if form.validate_on_submit(): # 获取上传文件的后缀 suffix = os.path.splitext(form.icon.data.filename)[1] # 生成随机的文件名 name = rand_str() + suffix photos.save(form.icon.data, name=name) # 生成固定大小的缩略图 pathname = os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], name) # 打开文件 img = Image.open(pathname) # 设置尺寸 img.thumbnail((256, 256)) # 保存缩略图 img.save(pathname) # 删除原来的头像,default.jpg除外 if current_user.icon != 'default.jpg': os.remove( os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], current_user.icon)) # 保存到数据库中 current_user.icon = name db.session.add(current_user) flash('头像已修改') return render_template('user/change_icon.html', form=form)
def icon(): form = IconForm() # 取出对象 user = current_user._get_current_object() # 判断数据是否合法 if form.validate_on_submit(): # 生成随机文件名 suffix = os.path.splitext(form.icon.data.filename)[1] filename = random_str() + suffix # 保存文件 photos.save(form.icon.data, name=filename) # 生成文件名的绝对路径 pathname = os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], filename) # 生成缩略图 image = Image.open(pathname) # 修改大小 image.thumbnail((128, 128)) image.save(pathname) # 删除原头像 if user.icon != 'default.jpg': os.remove( os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], user.icon)) # 赋值给icon 属性 user.icon = filename db.session.add(user) # 提示用户修改成功 flash('头像修改成功') # 返回URL 路径 img_url = photos.url(user.icon) return render_template('users/icon.html', form=form, img_url=img_url)
def icon(): form = IconForm() if form.validate_on_submit(): # 获取上传的图片 suffix = os.path.splitext(form.icon.data.filename)[1] # 生成随机文件名 filename = random_string() + suffix # 保存文件 photos.save(form.icon.data, name=filename) # 生成缩略图 pathname = os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], filename) img = Image.open(pathname) # 处理 img.thumbnail((128, 128)) # 再保存 img.save(pathname) # 之前老的图片要删除,除了默认图片 if current_user.icon != 'default.jpg': os.remove( os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], current_user.icon)) # 把文件名存到数据库 current_user.icon = filename db.session.add(current_user) flash('头像上传成功') img_url = photos.url(current_user.icon) return render_template('user/icon.html', form=form, img_url=img_url)
def setting_icon(request): form = IconForm() if request.method == 'POST': if form.validate(request.form, request.files): form.save() return redirect(url_for('app/index')) return render_to_response('app/setting/icon.html', {'form': form.as_widget()})
def modify_icon_form(): form = IconForm() user = User.query.filter_by(id=current_user.id).first() if form.validate_on_submit(): suffix = os.path.splitext(form.icon.data.filename)[1] filename = random_string() + suffix photos.save(form.icon.data, name=filename) user.icon = 'uploads/' + filename db.session.commit() return 'success' return render_template('upload_form.html', form=form, current_user=current_user)
def change_icon(): form = IconForm() if form.validate_on_submit(): suffix = os.path.splitext(form.icon.data.filename)[1] name = rand_str() + suffix photos.save(form.icon.data, name=name) pathname = os.path.join(os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], name)) img = Image.open(pathname) img.thumbnail((64, 64)) img.save(pathname) if current_user.icon != 'default.jpg': os.remove(os.path.join(current_app.config['UPLOADED_PHOTOS_DEST'], current_user.icon)) current_user.icon = name db.session.add(current_user) flash('头像已更换') return render_template('user/change_icon.html', form=form)
def modify_icon(): form = IconForm() return render_template('modify_icon.html', form=form, current_user=current_user)