2.2 KiB
Запити з формами та файлами
Ви можете одночасно визначати файли та поля форми, використовуючи File і Form.
/// info | Інформація
Щоб отримувати завантажені файли та/або дані форми, спочатку встановіть python-multipart.
Переконайтеся, що ви створили віртуальне середовище{.internal-link target=_blank}, активували його, а потім встановили бібліотеку, наприклад:
$ pip install python-multipart
///
Імпорт File та Form
{* ../../docs_src/request_forms_and_files/tutorial001_an_py310.py hl[3] *}
Оголошення параметрів File та Form
Створіть параметри файлів та форми так само як і для Body або Query:
{* ../../docs_src/request_forms_and_files/tutorial001_an_py310.py hl[10:12] *}
Файли та поля форми будуть завантажені як формові дані, і ви отримаєте файли та поля форми.
Ви також можете оголосити деякі файли як bytes, а деякі як UploadFile.
/// warning | Попередження
Ви можете оголосити кілька параметрів File і Form в операції шляху, але не можете одночасно оголошувати Body-поля, які очікуєте отримати у форматі JSON, оскільки запит матиме тіло, закодоване за допомогою multipart/form-data, а не application/json.
Це не обмеження FastAPI, а частина протоколу HTTP.
///
Підсумок
Використовуйте File та Form разом, коли вам потрібно отримувати дані та файли в одному запиті.