gpt4 book ai didi

python - 使用其他表单元素在 Flask 中上传文件失败并出现 400 错误

转载 作者:行者123 更新时间:2023-12-01 07:23:47 25 4
gpt4 key购买 nike

尝试上传文件时收到 400 错误,并将其他表单元素从 html 发送到 Flask。尝试使用 ajax,但这也引发了错误。

Python:

@app.route('/prod_diff_result', methods=['POST', 'GET'])
def prod_diff_result():

try:
host = request.form['host-prod-iterator']
print(host)
if request.files['file']:
f = request.files['file']
f.save(secure_filename(f.filename))

HTML:

<div class="main-div">
<form action="/prod_diff_result" method="POST" enctype="multipart/form-data">
<div class="grid-container">
<div class="grid-item">
<span class="label label-default ">PROD</span><br>
<p>Iterator Host : <input type="text" class="form-control" id="host-prod-iterator" value="10.47.7.57"
required></p>

<input type="radio" name="data_fetch_type" value="file" onclick="showfile()">Upload File
<input type="file" name="file" />
<input type="radio" name="data_fetch_type" value="db"> Get from DB
<input type="submit" />
</div>
</form>
</div>

我希望能够在一个请求中并使用一种表单将主机名和文件发送回 flask 错误。

最佳答案

它会给出错误,因为您尝试访问它找不到的表单字段,并假设该请求在某种程度上是错误的,因为它不包含必需的表单字段。您正在尝试访问:

host = request.form['host-prod-iterator']

但是您根本没有在 HTML 中为其指定名称。如果你给它一个名称,它应该可以工作:

<p>Iterator Host : 
<input type="text" class="form-control" name="host-prod-iterator" id="host-prod-iterator" value="10.47.7.57" required>
</p>

关于python - 使用其他表单元素在 Flask 中上传文件失败并出现 400 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57551877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com