Vue FilePond Adapter

7.0.4 · active · verified Sun Apr 19

Vue FilePond is an official adapter component designed to integrate the powerful FilePond file upload library with Vue.js applications. Currently stable at version 7.0.4, this package provides a `FilePond` Vue component that wraps the underlying JavaScript library, enabling seamless file uploading experiences. While there isn't a strict release cadence, minor updates and bug fixes are released as needed. Its key differentiators include leveraging FilePond's robust feature set, such as drag-and-drop functionality, image optimization, accessibility features (keyboard navigation, AT software compatibility), responsive design, and support for various file types and upload methods (AJAX, base64, remote URLs). It's primarily designed for Vue 3, with a separate major version (v6) dedicated to Vue 2 support, ensuring broad compatibility while maintaining a modern API for newer Vue applications.

Common errors

Warnings

Install

Imports

Quickstart

This example demonstrates how to set up the FilePond component, register plugins, handle initial files, and listen to events in a Vue 3 application.

<template>
  <div id="app">
    <file-pond
      name="test"
      ref="pond"
      label-idle="Drop files here..."
      v-bind:allow-multiple="true"
      accepted-file-types="image/jpeg, image/png"
      server="/api"
      v-bind:files="myFiles"
      v-on:init="handleFilePondInit"
    />
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue';
import vueFilePond from "vue-filepond";
import "filepond/dist/filepond.min.css";
import "filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.css";
import FilePondPluginFileValidateType from "filepond-plugin-file-validate-type";
import FilePondPluginImagePreview from "filepond-plugin-image-preview";

const FilePond = vueFilePond(
  FilePondPluginFileValidateType,
  FilePondPluginImagePreview
);

export default defineComponent({
  name: "app",
  components: {
    FilePond,
  },
  data() {
    return { myFiles: ["cat.jpeg"] };
  },
  methods: {
    handleFilePondInit() {
      console.log("FilePond has initialized");
      // FilePond instance methods are available on `this.$refs.pond`
    },
  },
});
</script>

view raw JSON →