A durable file upload field in Fillo sends the bytes from the respondent's browser into storage you connect — Google Drive, Box, or an S3-compatible bucket. Fillo opens and verifies the upload session and keeps the response plus a reference to each file. Eligible new workspaces can start with the documented capped transit lane before durable storage is connected.
Add an upload field
const intake = defineForm({
id: "asset-intake",
title: "Send us your files",
pages: [
{
id: "main",
blocks: [
{ id: "email", kind: "email", label: "Work email", required: true },
{
id: "assets",
kind: "file_upload",
label: "Upload your files",
accept: [".pdf", ".png", ".jpg", ".mp4"],
maxFiles: 5,
required: true,
},
],
},
],
});State the accepted formats and size in the label so respondents learn the rule before they pick a file, not after.
Connect the storage you own
Before you publish an upload field, connect a storage provider in the dashboard: your own Google Drive, Box, or an S3-compatible bucket (including AWS S3 and Cloudflare R2). Files upload browser-direct to that account, and Fillo records each file's metadata alongside the response.
Large and resumable uploads
Uploads go directly from the browser to the provider in multipart chunks, so they aren't bounded by a small request cap, and they're resumable where the provider supports it. Fillo alone controls when an upload is completed and when an incomplete one is cleaned up, so a dropped connection doesn't strand a half-written file or a live credential.
Test the upload path
Run the form on a narrow screen and by keyboard, then try an oversized file, a disallowed type, an interrupted upload followed by a retry, and a clean success. Confirm the file lands in the intended storage account and that the response records the reference. See File uploads for provider setup and limits.
Try it
Start with a prompt and your coding agent builds the first form, staged for your review — or open the editor.
Related
- Build a client intake form with file uploads: Keep project context and documents in one response.
- Job application example: A working multi-page form with a resume upload.
- Client intake form template: Start from a working intake schema with document collection.
- Form builder API: Read the resulting response and file references from a trusted backend.
- File uploads: Connect Google Drive, Box, or S3/R2 and set file limits.
- Data retention: How long Fillo keeps responses and file references.