You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Ninja + Next.js 图片上传至数据库始终返回422 Unprocessable Entity错误求助

Django Ninja + Next.js 图片上传至数据库始终返回422 Unprocessable Entity错误求助

大家好,我目前用Django Ninja搭建后端,Next.js做前端。文档里的测试代码我跑了好几次都没问题,但自己开发的应用里,不管是用JavaScript(Next.js)还是Bash发请求,都一直失败,返回422 Unprocessable Entity错误,折腾半天没搞定,来这儿求助各位大佬!

我试过的后端代码

第一种是直接接收参数的写法:

def upload_media(request, nome:str, imgurl: UploadedFile ):
  usuarios = Media.objects.all()     
  Media.objects.create(nome = nome,imgurl=imgurl)
   
  return 1

第二种是用Schema来封装参数的写法:

class mediaSchema(Schema):
    nome : str
    imgurl: UploadedFile


@api.post('tst/', response=mediaSchema)
def upload_media2(request, infos : mediaSchema):
  
  media = infos.dict()
  infos = Media(**media)
  
  infos.save()

  return 1

前端Next.js的请求代码

这是我前端尝试的其中一段上传代码:

var formData = new FormData();
formData.append('nome', username);  // 添加名称
formData.append('imgurl', file);
await fetch('http://127.0.0.1:8000/usuarios/api/images/', {
  body:formData,
  method: 'POST',
  mode: "cors",
})
.then((resp) => resp.json())
.then((data) => {
    alert('enviado com sucesso')
    // window.location.reload(); 
})
.catch((error) => console.log(error))

不管后端用哪种实现方式,前端发送请求后都会触发422错误,实在找不到问题所在,麻烦大家帮忙看看哪里出错了?

备注:内容来源于stack exchange,提问作者João Vitor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:34:32