FLIN gère les téléchargements de fichiers comme capacité intégrée du runtime. Les requêtes multipart sont analysées automatiquement. La validation de fichiers est déclarative. Le stockage est un seul appel de fonction. Le nettoyage est automatique.
flinroute POST {
validate {
title: text @required
document: file @required @max_size("10MB") @allow_types("application/pdf")
}
file_path = save_file(body.document, ".flindb/documents/")
save Document {
title: body.title,
file_path: file_path,
file_size: body.document.size,
file_type: body.document.content_type
}
response { status: 201, body: doc }
}save_file() crée le répertoire de destination s'il n'existe pas, génère un nom de fichier unique avec UUID, déplace (pas copie) le fichier temporaire et retourne le chemin relatif.
Ceci est la partie 104 de la série "How We Built FLIN".
Navigation de la série : - [102] Guards: Declarative Security for Routes - [103] WebSocket Support Built Into the Language - [104] File Upload Support (vous êtes ici) - [105] Response Helpers and Status Codes