大二下学期团队项目(头像上传)
今日完成了团队项目的个人头像上传的功能,对用户的数据库进行了修改增加了src即用户头像的存放路径,之前没学习过python的文件操作,通过头像上传对python的文件操作有了一定了解。
代码部分:
<div class="user-account">
<p class="tip">你好,{{ userdata[3]}}</p>
<input type="file" name="file" id = "input_file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" οnchange="imgPreview(this)" ><br>
<button id="userimg_btn" onclick="userimg_btn()">上传头像</button>
</div>
<script>
function userimg_btn(){
var formData = new FormData();
formData.append('file', $('#input_file')[0].files[0]); //添加图片信息的参数
formData.append('sizeid',123); //添加其他参数
$.ajax({
url: '/user_img',
type: 'POST',
cache: false, //上传文件不需要缓存
data: formData,
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
success: function (data) {
var rs = data.data
if(rs[0]==1){
alert('成功!');
window.open("/user_pager",'_self')
}else{
alert(rs);
}
},
error: function (data) {
tipTopShow("上传失败");
}
})
}
</script>
#头像上传 @app.route('/user_img',methods=['GET', 'POST']) def user_img(): #接收图片并生成保存路径 img=request.files.get("file") img_name = img.filename file_path = "D:\\flaskProjects\\MovieTop9\\MovieTop\\static\\userimg\\"+img_name # 删除原头像 userphone = session['userphone'] userdata = sql.android_query(userphone) if (userdata[4] != "" and userdata != "../static/userimg/0000.jpg"): str_s = userdata[4].split('/') path = "D:\\flaskProjects\\MovieTop9\\MovieTop\\static\\userimg\\" + str_s[3] try: os.remove(path) except: traceback.print_exc() return jsonify({"data": 0}) #保存新头像 try: img.save(file_path) except: traceback.print_exc() return jsonify({"data":0}) #将路径存入数据库 userimg="../static/userimg/"+img_name flag=sql.user_img_input(userimg,userphone) data=[flag,img_name] return jsonify({"data":data})
#用户上传头像 def user_img_input(userimg,userphone): cursor = None conn = None conn, cursor = get_conn() sql = "update userdata set userimg="+"'"+userimg+"' where userphone="+userphone try: cursor.execute(sql) conn.commit() close_conn(conn, cursor) print("上传成功") print(userimg+""+userphone) return 1 except: traceback.print_exc() return 0

浙公网安备 33010602011771号