【发布时间】:2021-10-25 22:06:00
【问题描述】:
我正在设计一个从 HTML 页面接收 XML 文件并使用 Flask 将其发送到 Python 的应用程序 这是我的 HTML(前端)代码
<input type="file" id="files" class="form-control" accept=".xml" required />
<button onclick="send()" style="width: 150px;" class="btn btn-primary">Send</button>
我正在使用带有 Python 的 Flask 来运行我的后端,我正在使用 POSTMAN(我在下面显示它)并在其上发送一个 XML 并返回应该返回的内容 这是我的 Python 代码
@app.route('/Students', methods=['POST'])
def loaddata():
# this is a list
global dataArray
entry= request.data.decode('utf-8')
xmlentry= ET.fromstring(entry)
for student in xmlentry.findall('STUDENT'):
name= dte.find('NAME').text
address = dte.find('ADDRESS').text
new = DataObject(name,adress)
# DataObject its a class, i am using OOP
dataArray.append(new)
return jsonify({'Mensaje':'Students added to the database',})
但我不知道如何从 HTML 文件发送 XML 数据并使其与我的 Python 后端一起使用,我之前使用过 Fetch,但对于这种特殊情况没有 这是我的 JavaScript 代码混乱
var file1 = document.getElementById("file");
function send() {
fetch('localhost:3000/Students', {
method: 'POST',
body: file1,
headers:{
'Content-Type': 'text/plain',
'Access-Control-Allow-Origin': '*',}})
.then(res => res.json())
.catch(err => {
console.error('Error:', err)
alert("Ocurrio un error, ver la consola")
})
.then(response =>{
console.log(response);
alert(response.Mensaje)
})
}
【问题讨论】:
-
欢迎来到 Stack Overflow。
file1中是否已有 XML?或者您是否中继用户将文件输入到 Input 元素中? -
另外,我看到
var file1 = document.getElementById("file")在你的 HTML 中,我看到<input type="file" id="files" class="form-control" accept=".xml" required />,所以这不匹配,file != files -
用户将 XML 放入输入元素中
-
也感谢 HTML 声明
标签: javascript python html xml flask