fastapi/docs/pt/docs/tutorial/request-forms-and-files.md

1.6 KiB

Formulários e Arquivos da Requisição

Você pode definir arquivos e campos de formulário ao mesmo tempo usando File e Form.

/// info | Informação

Para receber arquivos carregados e/ou dados de formulário, primeiro instale python-multipart.

Certifique-se de criar um ambiente virtual{.internal-link target=_blank}, ativá-lo e então instalar, por exemplo:

$ pip install python-multipart

///

Importe File e Form

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

Defina parâmetros de File e Form

Crie parâmetros de arquivo e formulário da mesma forma que você faria para Body ou Query:

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

Os arquivos e campos de formulário serão carregados como dados de formulário e você receberá os arquivos e campos de formulário.

E você pode declarar alguns dos arquivos como bytes e alguns como UploadFile.

/// warning | Atenção

Você pode declarar vários parâmetros File e Form em uma operação de caminho, mas não é possível declarar campos Body para receber como JSON, pois a requisição terá o corpo codificado usando multipart/form-data ao invés de application/json.

Isso não é uma limitação do FastAPI, é parte do protocolo HTTP.

///

Recapitulando

Usar File e Form juntos quando precisar receber dados e arquivos na mesma requisição.