Skip to content

FileUploader ​

FileUploader is a drag-and-drop upload zone with file validation, file list display, and remove support.

Basic usage ​

0 file(s) selected

Tailwind v4
vue
<script setup>
import { ref } from 'vue'
const files = ref([])
</script>

<FileUploader v-model="files" multiple />

With accept and max size ​

Tailwind v4
vue
<FileUploader
  v-model="files"
  accept="image/*"
  :max-size="2 * 1024 * 1024"
  label="Upload images (max 2 MB each)"
  multiple
  @error="msg => console.error(msg)"
/>

Disabled ​

Tailwind v4
vue
<FileUploader :disabled="true" />

Props ​

PropTypeDefaultDescription
modelValueFile[]—Selected files (use with v-model)
acceptstring—Accepted MIME types/extensions e.g. 'image/*,.pdf'
multiplebooleanfalseAllow multiple file selection
maxSizenumber—Max file size in bytes
disabledbooleanfalseDisables the drop zone
labelstring'Drag and drop files here, or click to browse'Drop zone label text

Events ​

EventPayloadDescription
update:modelValueFile[]Emitted when files change
errorstringEmitted when a file fails validation (wrong type or too large)

Private — Jetpack Labs internal use only