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
相关产品推荐
相关产品推荐

