Skip to main content
All guides

File upload forms

How to build file upload forms that do not trap your files

Collect documents, screenshots, CVs, and customer evidence without separating the upload from the response that explains it.

6 min readUpdated 2026-06-22For teams collecting applications, intake files, screenshots, documents, or customer evidence.

Short answer

A good file upload form should collect the answer and the file together, send the file to storage you control, and keep a clear record of who submitted it, which form version they saw, and where the file went.

File upload forms need storage decisions, not just a file input.

Files should stay connected to the response that explains them.

Your team needs a clear review and export path after the upload finishes.

01

Why file upload forms get messy

The field looks simple. The work around it is not. You need upload limits, progress, retries, storage destinations, permissions, metadata, response links, and a way for the team to review what arrived.

If uploads and answers land in different places, the follow-up becomes slow. Someone has to match a file in storage with the person who submitted the form.

  • A CV without the application answers is hard to review.
  • A screenshot without browser or account context is easy to misread.
  • A document in storage without a response record is just a loose file.

02

Decide where files should live

For product and customer workflows, the safest default is to put files in storage your team controls. That might be Google Drive, Box, or an S3-compatible bucket, depending on how your company handles documents.

The form tool should keep the response metadata and file reference. It should not make your team download files from a vendor table and manually move them later.

Storage choice

Google Drive

Good for

Teams that already review files in Drive

Watch out for

Folder structure and access rules

Storage choice

Box

Good for

Teams with document workflows in Box

Watch out for

Permissions and naming conventions

Storage choice

S3-compatible storage

Good for

Product teams that own storage infrastructure

Watch out for

Lifecycle rules and access policies

Storage choice

Form vendor storage

Good for

Very simple forms

Watch out for

Data ownership and export friction

03

Keep files attached to the response

The response record should show the answers, source, timestamps, form version, and file references together. That is what lets someone review the submission without hunting across tools.

This matters for job applications, vendor onboarding, customer support, insurance intake, grant applications, security questionnaires, and any flow where the file is evidence for the answers.

  • Show file names and storage destination in the response.
  • Keep the form version so old responses still make sense after edits.
  • Export response data without losing the file reference.
  • Use webhooks when another system needs to act on the submission.

04

How Fillo handles upload forms

Fillo lets you add file upload fields to forms that render inside your app. Uploaded files can go to connected storage such as Drive, Box, or S3-compatible storage while the response keeps the file reference and metadata.

That means the app can keep a native form experience, and the team still gets a response workspace for review, exports, and handoff.

Questions

Quick answers.

For product workflows, your own storage is usually better. It keeps files closer to your access rules, retention policies, and existing review process.

Yes. The upload field can be part of a native form renderer while the upload itself goes through the storage flow configured for the form.

At minimum: answers, file names, storage references, submit time, source, and the form version the respondent saw.