Ninja POST 422 (Необработанная сущность) [дубликат]

Кто-нибудь знает, почему так происходит? Я могу загрузить картинку в swagger UI, но всегда получаю 422 http-ответ.

    @http_post("/profile", response=dict)
    def upload_profile_image(self, request, file: UploadedFile = File(...)):
        """Upload profile image for business."""
        
        try:
            business = Business.objects.get(user=request.user)
        except Business.DoesNotExist:
            return JsonResponse({"msg": "You don't have business yet."}, status=404)
        business.image.save(file.name, ContentFile(file.read()), save=True)

        image_url = request.build_absolute_uri(business.image.url)  # Full URL
        print('put URL', image_url)
        return {
            "msg": f"{file.name} uploaded.",
            "business": image_url
        }

Передний конец (Next.js)

 const handleSubmit = async () => {
    
    const formData = new FormData();
    if (selectedFile) {
        formData.append('profile_image', selectedFile); // Match field name expected in backend
      }
    try {
      const response = await fetch(`http://127.0.0.1:8000/api/business/profile`, {
        method: "POST",
        body: formData,

      });

      if (!response.ok) {
        console.log("Failed to save edited business");
        return;
      }

    } catch (error) {
      console.log("Error saving edited queue:", error);
    }
  };

Я даже попробовал загрузить то же изображение, которое работает на swagger, но оно тоже не работает, и я не думаю, что это связано с размером изображения.


Ошибка: «POST - BusinessController[upload_profile_image] /api/business/profile» ([{„type“:„missing“, „loc“: („file“, „file“), „msg“:„Field required“}],) Необработанная сущность: /api/business/profile [13/Nov/2024 22:18:17] «POST /api/business/profile HTTP/1.1» 422 83
Вернуться на верх