Ninja POST 422 (необрабатываемый объект) [дубликат]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ninja POST 422 (необрабатываемый объект) [дубликат]

Сообщение Anonymous »

Кто-нибудь знает, почему это произошло? Я могу нормально загрузить изображение в пользовательском интерфейсе Swagger, но всегда получаю HTTP-ответ 422.

Код: Выделить всё

    @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': 'Обязательное поле'}],)
Необрабатываемый объект: /api/business/profile
[13/Nov/2024 22:18:17] "POST /api/business/profile HTTP/1.1" 422 83

Подробнее здесь: https://stackoverflow.com/questions/791 ... ble-entity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»