You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.2 KiB

Запити з формами та файлами

У FastAPI Ви можете одночасно отримувати файли та поля форми, використовуючи File і Form.

/// info | Інформація

Щоб отримувати завантажені файли та/або дані форми, спочатку встановіть python-multipart.

Переконайтеся, що Ви створили віртуальне середовище{.internal-link target=_blank}, активували його, а потім встановили бібліотеку, наприклад:

$ pip install python-multipart

///

Імпорт File та Form

{* ../../docs_src/request_forms_and_files/tutorial001_an_py39.py hl[3] *}

Оголошення параметрів File та Form

Створіть параметри файлів та форми так само як і для Body або Query:

{* ../../docs_src/request_forms_and_files/tutorial001_an_py39.py hl[10:12] *}

Файли та поля форми будуть завантажені як формові дані, і Ви отримаєте як файли, так і введені користувачем поля.

Ви також можете оголосити деякі файли як bytes, а деякі як UploadFile.

/// warning | Увага

Ви можете оголосити кілька параметрів File і Form в операції шляху, але не можете одночасно оголошувати Body-поля, які очікуєте отримати у форматі JSON, оскільки запит матиме тіло, закодоване за допомогою multipart/form-data, а не application/json.

Це не обмеження FastAPI, а частина протоколу HTTP.

///

Підсумок

Використовуйте File та Form разом, коли вам потрібно отримувати дані форми та файли в одному запиті.