我正在尝试上传文件
错误的请求浏览器(或代理)发送了此服务器无法理解的请求。
超文本标记语言代码
<form class="form-check form-control" method="post" enctype="multipart/form-data" action="{{ url_for('index') }}">
<label>Full Name*</label></td>
<input name="u_name" type="text" class="text-info my-input" required="required" />
<label>Email*</label>
<input name="u_email" type="email" class="text-info my-input" required="required" />
<label>Password*</label>
<input name="u_pass" type="password" class="text-info my-input" required="required" />
<label>Your Image*</label>
<input name="u_img" type="file" class="text-info" required="required" /></td>
<input name="btn_submit" type="submit" class="btn-info" />
</form>
from flask import Flask, render_template, request, url_for
from flask_pymongo import PyMongo
import os
app = Flask(__name__)
app.config['MONGO_DBNAME'] = 'flask_assignment'
app.config['MONGO_URI'] = 'mongodb://<user>:<pass>@<host>:<port>/<database>'
mongo = PyMongo(app)
app_root = os.path.dirname(os.path.abspath(__file__))
@app.route('/', methods=['GET', 'POST'])
def index():
target = os.path.join(app_root, 'static/img/')
if not os.path.isdir(target):
os.mkdir(target)
if request.method == 'POST':
name = request.form['u_name']
password = request.form['u_pass']
email = request.form['u_email']
file_name = ''
for file in request.form['u_img']:
file_name = file.filename
destination = '/'.join([target, file_name])
file.save(destination)
mongo.db.employee_entry.insert({'name': name, 'password': password, 'email': email, 'img_name': file_name})
return render_template('index.html')
else:
return render_template('index.html')
app.run(debug=True)
那里的错误是由于访问request.form
中不存在的密钥而导致的BadRequestKeyError
。
ipdb> request.form['u_img']
*** BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
上传的文件在request.files
下键入,而不是request.form
字典下键入。另外,您需要丢失循环,因为在u\u img
下键入的值是FileStorage
的实例,不可编辑。
@app.route('/', methods=['GET', 'POST'])
def index():
target = os.path.join(app_root, 'static/img/')
if not os.path.isdir(target):
os.makedirs(target)
if request.method == 'POST':
...
file = request.files['u_img']
file_name = file.filename or ''
destination = '/'.join([target, file_name])
file.save(destination)
...
return render_template('index.html')
我已经试过填充add。html,当我单击send时,我得到上面的错误。错误的请求浏览器(或代理)发送了此服务器无法理解的请求。我的应用程序。py如下所示。 当我在填写表单后尝试提交时,会出现以下错误: 错误的请求浏览器(或代理)发送了此服务器无法理解的请求。 我已经试着把它输出到一个文件中,但仍然得到了错误
我已经为我的生日提醒应用程序创建了一个编辑视图,并且以前工作过,每当我链接到此编辑视图时,我都会收到一个关键错误。我已经检查了get_Gift函数返回的对象,并且键字段存在。此外,使用多个字段创建的HTML表单包含错误中指示的字段。 收到的错误是: werkzeug。例外情况。BadRequestKeyError:400错误请求:浏览器(或代理)发送了此服务器无法理解的请求。KeyError:“g
嗨,我正在编写一个博客脚本,但收到400个错误请求。Python代码: Html代码: 我以前从未收到过这样的错误,我不知道为什么。我猜表格可能有错误。 求你帮帮我
我遇到了表单400错误,并尝试了其他解决方案。它让我的状态有所改善,但并没有阻止错误的发生。我有 模板/注册。html: 形式。py: 这些观点。py: 这些指纹看起来像 就像我预料的那样。我假设根据字段的验证器重新呈现页面,并显示错误消息“Passwords must match”。我该怎么做才能让此表单失败并重新提交页面?非常感谢。
我最近一直在用Java编写自己的Webserver,因为我觉得有一个很不错,昨天我偶然发现了一个问题,我仍然没有解决。我的浏览器(取消搜索Chromium)似乎向服务器发送了一些空请求或类似的东西。我实现了一个请求处理程序,它应该读取GET请求并提取请求的资源。它的工作原理是这样的:它以请求为例:“GET/index.htmlHTTP/1.1”并将其放入带有String.split (" ");
我的一个EC2实例上有一个graphql服务器正在运行。我也有AWS appsync运行,但目前它只与几个Lambda集成。 我想将我的Appsync连接到graphql服务器,这样Appsync将作为特定查询/变化的代理。 因此,从客户端来看,它将如下所示: 客户端将一个查询发送到APPESNC,让我们假设它看起来像这样: Appsync已经定义了一个查询,它被配置为在graphql服务器上代理