【发布时间】:2022-11-20 02:37:32
【问题描述】:
我正在尝试弄清楚如何将图像发送到我的 API,并验证请求的 header 中生成的 token。
到目前为止,这是我所在的位置:
@app.post("/endreProfilbilde")
async def endreProfilbilde(request: Request,file: UploadFile = File(...)):
token=request.headers.get('token')
print(token)
print(file.filename)
我还有一个触发变化监听和上传功能的函数,传递参数:bildeFila
function lastOpp(bildeFila) {
var myHeaders = new Headers();
let data = new FormData();
data.append('file',bildeFila)
myHeaders.append('token', 'SOMEDATAHERE');
myHeaders.append('Content-Type','image/*');
let myInit = {
method: 'POST',
headers: myHeaders,
cache: 'default',
body: data,
};
var myRequest = new Request('http://127.0.0.1:8000/endreProfilbilde', myInit);
fetch(myRequest)//more stuff here, but it's irrelevant for the Q
}
问题:
这将打印上传文件的filename,但token 未通过并打印为None。我怀疑这可能是由于 content-type,或者我试图强制 FastAPI 做一些不应该做的事情。
【问题讨论】: