这是我的 React 代码。我正在解析上传到 fileData 的 CSV。我现在只是想在后端打印控制台中的数据。 CSV 可能有大约 350 行。
const [fileData, setFileData] = useState([])
const changeHandler = (event) => {
Papa.parse(event.target.files[0], {
header: true,
skipEmptyLines: true,
complete: function (results) {
setFileData(results.data)
},
});
};
async function postData() {
try{
console.log('File Data:', fileData)
const response = await axios.post(`${API_KEY}/uploadPlayerMins`, fileData)
console.log(response.data)
}
catch (error) {
console.error(error)
}
}
这是Python代码。
class PlayerInfo(BaseModel):
Mins: str
Player: str
@router.post("/uploadPlayerMins")
async def create_upload_file(player: PlayerInfo):
try:
print(player)
return JSONResponse(status_code=status.HTTP_200_OK, content=jsonable_encoder({ 'status': 'success',
'status_code': 200,
"message": 'Data has been uploaded successfully.'}))
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
看起来您的路线需要对象类型 PlayerInfo:
async def create_upload_file(player: PlayerInfo)
但是您正在尝试发送一个数组。也许您可以更改预期值类型。使用字典代替 PlayerInfo
async def create_upload_file(player: Dict)