【发布时间】:2024-04-28 05:25:02
【问题描述】:
我是 python 和 javascript 的新手,我的任务是创建一个需要上传文件的表单。我需要打后端(flask restful API)。我被告知这是我需要发送请求的方式
requests.post(f"{server}/v1/cand", files={f"{target}_cand": cand_data})
我尝试使用 fetch api 从 javascript 中点击,我得到 201 创建响应,但后端接收的文件是空的。 我不知道我的请求格式是否正确,
var data = new FormData()
data.append('files', files[0])
data.append('name', fileName)
console.log(data.get('files'))
fetch("http://localhost:5001/v1/cand",{
method:"POST",
body: {files:files[0]},
})
.then(function(response){
return response.json()
})
.then(function(data){
console.log('success')
console.log(data)
})
这是在后端接收它的方式
def post(self):
cand= []
for f in request.files:
//do something
请帮我解决这个问题。
【问题讨论】:
-
前端部分看起来不错。我猜(因为它不完整)问题出在后端部分。您可能想将您的后端与文档flask.palletsprojects.com/en/1.1.x/patterns/fileuploads 进行比较
-
我被告知如果被招摇撞到后端运行没有问题,我不确定是否从前端正确发送数据。当我签入网络时,该对象确实是在有效负载中发送的
-
或者可能只是文件字段名。在python代码中,文件字段名称是
{target}_cand,但在js代码中是files -
也试过了,没用
标签: javascript python flask flask-restful