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


    今日完成了团队项目的个人头像上传的功能,对用户的数据库进行了修改增加了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
  • 相关阅读:
    scp上传服务器文件
    svn一次添加所有未添加的文件
    vue 去掉#和拼接参数
    vuex状态管理
    获取页面iframe里的元素
    angular 中ng-bind-html 、$scope服务
    心态崩了
    day 8
    day 7
    day6 angularjs学习
  • 原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/14885500.html
Copyright © 2020-2023  润新知