大二下学期团队项目(头像上传)

今日完成了团队项目的个人头像上传的功能,对用户的数据库进行了修改增加了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

 

posted @ 2021-05-28 22:57  风吹过半夏  阅读(64)  评论(0编辑  收藏  举报