陪玩游戏系统开发头像上传和修改功能,不妨了解一下!

陪玩游戏系统开发头像上传和修改功能,不妨了解一下!

随着陪玩游戏系统的火爆,陪玩游戏系统的开发也进入了快速发展的时期,在陪玩游戏系统中,为了优化用户的使用体验,保证用户的归属感,头像的上传和修改功能是很重要的,毕竟头像基本就是用户彼此间建立第一印象的道具了。在陪玩游戏系统中实现上传文件,需要使用到html的input控件,其type为file。Boostrap提供了一个美观且功能强大上传控件,样式如下:它提供文件的预览,并且自带remove和upload按钮。要使用这个控件,需要再额外引入相应的js和css文件,如下:<linkrel="stylesheet"href="<scriptsrc="上传控件的html代码如下:<formclass="avatar-input-form"method="POST"enctype="multipart/form-data"><inputname="avatar_upload"type="file"class="file"data-show-preview="false"/></form>我把data-show-preview设置为false,关闭了上传文件的预览,更多关于这个控件的内容可以自行搜索。此时修改头像的页面是这样的,我们先完成功能,后续再美化。那么陪玩游戏系统如何获取上传的文件呢,与获取POST数据类似(上传文件其实也是使用POST方法),在flask中使用request.files[name]获取上传的文件,其中name为对应input控件的name值(name=“avatar_upload”),然后使用文件的save方法即可保存。例如:@app.route('/user/avatar/',methods=['GET','POST'])defavatar():ifrequest.method=='GET':returnrender_template('avatar.html')else:file=request.files['avatar_upload']path="D:\\Flask\\HarpQA\\static\\"file.save(path+file.filename)return'Saved'注意save方法要加上具体的路径,默认不会保存到py文件所在的路径,而是陪玩游戏系统的根目录,此时会提示Permission denied。我们接下来要把上传的文件设置为陪玩游戏系统用户的新头像,其实可以直接将user的avatar_path修改为上传文件的路径,这样整个功能就完成了,但为了规范,我们建立一个文件夹专门存放陪玩游戏系统头像文件(static/images/uploads),并且以用户id来命名文件,这样就避免出现文件名重复导致被覆盖。修改视图函数,如下:@app.route('/user/avatar/',methods=['GET','POST'])defavatar():ifrequest.method=='POST':file=request.files['avatar_upload']base_path=path.abspath(path.dirname(__file__))filename=str(g.user.id)+'.'+file.filename.rsplit('.',1)[1]file_path=path.join(base_path,'static','images','uploads',filename)file.save(file_path)g.user.avatar_path='images/uploads/'+filenamedb.session.commit()returnrender_template('avatar.html')这里用了os库的path来处理路径相关的东西。随便浏览个本地图片并上传,效果如下:此时文件已经上传到了uploads文件夹:数据图中的avatar_path也更新了:此外,我们还可以添加陪玩游戏系统上传文件大小限制、安全限制等更多的功能,用以优化用户的使用体验,以上就是“陪玩游戏系统开发头像上传和修改功能,不妨了解一下!”的全部内容了,希望对大家有帮助。本文转载自网络,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理原文链接:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Proudly powered by WordPress | Theme: HoneyWaves by SpiceThemes