创建注册表单时如何使用 Flask 将图像上传到 mongodb

How do i upload an image to mongodb using flask when creating a registration form

请问如何在创建注册表时使用 flask 和 mongodb 上传和检索图像?

<form method="post" action="{{ url_for('edit') }}">
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">First name</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="text" name="fname" value="Veronica">
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Last name</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="text" name="lname" value="Okoro">
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Email</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="email" name="email" value="vero@example.com">
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Change profile</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="file" name="img">
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Address</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="text" name="address" value="" placeholder="Street">
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label"></label>
                            <div class="col-lg-6">
                                <input class="form-control" type="text" name="city" value="" placeholder="City">
                            </div>
                            <div class="col-lg-3">
                                <input class="form-control" type="text" name="state" value="" placeholder="State">
                            </div>
                        </div>
                       
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Username</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="text" name="username" >
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Password</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="password" name="password" >
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label">Confirm password</label>
                            <div class="col-lg-9">
                                <input class="form-control" type="password" name="cpassword" >
                            </div>
                        </div>
                        <div class="form-group row">
                            <label class="col-lg-3 col-form-label form-control-label"></label>
                            <div class="col-lg-9">
                                <input type="reset" class="btn btn-secondary" value="Cancel">
                                <input type="submit" class="btn btn-primary" value="Save Changes">
                            </div>
                        </div>
                    </form>

每当我尝试填写表格并选择图像时,我总是收到 ERROR 400 BAD REQUEST 但当我删除图像文件时表格将提交。 这是保存到 MongoDB 中的 python 路由。我真的不知道我做错了什么任何帮助将不胜感激。

@app.route('/edit', methods=['POST'])
    def edit():
        profile_image = request.files['img']
        mongo.save_file(profile_image.filename, profile_image)
        mongo.db.user.insert(
            {
                "fname": request.form.get('fname'),
                "lname": request.form.get('lname'),
                "email": request.form.get('email'),
                "address": request.form.get('address'),
                "city": request.form.get('city'),
                "state": request.form.get('state'),
                "password": request.form.get('password'),
                "profile_image": profile_image.filename
            }
        )
        flash("data successfully captured", "success")
        return render_template('admin/profile.html', title='KingVera | Profile')

我不断收到 ERROR 400 BAD REQUEST

您尚未启用表单发送媒体。您可以这样完成:

<form method="post" action="{{ url_for('edit') }}" enctype="multipart/form-data">