Skip to content

Comandos úteis

flowingts / FileRule

Interface: FileRule ​

Definido em: src/core/uploads/types.ts:10

Regras de um campo de arquivo no contrato da rota (F-46): files: { pdf: { required: true, maxSize: '5mb' } }. Tudo é conferido antes do handler; o arquivo inválido gera 400 ou 413 em Problem Details.

Propriedades ​

maxCount? ​

optional maxCount?: number

Definido em: src/core/uploads/types.ts:16

Quantos arquivos o campo aceita. Padrão: 1. Use ctx.files(nome) quando for mais de um.


maxSize? ​

optional maxSize?: Size

Definido em: src/core/uploads/types.ts:14

Tamanho máximo de cada arquivo. Não pode passar do limite global (uploads.limits.fileSize).


required? ​

optional required?: boolean

Definido em: src/core/uploads/types.ts:12

O campo precisa ter pelo menos um arquivo. Padrão: false.


types? ​

optional types?: readonly string[]

Definido em: src/core/uploads/types.ts:22

Tipos aceitos ('application/pdf', 'image/*'). Confere o tipo declarado pelo cliente e, quando o formato tem assinatura conhecida, também os primeiros bytes do arquivo (um executável com nome .pdf é recusado). Formatos de texto (CSV, JSON) não têm assinatura: só o tipo declarado é conferido.


verify? ​

optional verify?: (head, file) => boolean | Promise<boolean>

Definido em: src/core/uploads/types.ts:27

Conferência própria do conteúdo, depois dos tipos: recebe os primeiros bytes do arquivo. false (ou um erro) recusa o arquivo com 400. Para regras que a detecção por assinatura não cobre.

Parâmetros ​

Uint8Array

file ​

FileInfo

Retorna ​

boolean | Promise<boolean>

Licença ISC.