フロントエンドフレームワークを使わずにUIを構築できる、HTML・CSS・JavaScriptベースのWeb UIコンポーネントライブラリです。
pqina/filepond
ドラッグ&ドロップ、画像の最適化、分割アップロードに対応し、React、Vue、Angular、Svelte向けアダプターを備えたJavaScriptファイルアップロードライブラリ。
- スター
- 16,393
- フォーク
- 852
- 未解決の Issue
- 147
- 最終コミット
- 10 日前
これは何?
FilePondは、ブラウザーでのファイルアップロードを扱うJavaScriptライブラリです。ファイルをドロップしたり、ファイルシステムから選択したり、貼り付けたり、API経由で追加したりできます。また、入力としてディレクトリ、Blob、リモートURL、Data URIを受け付けます。
アップロード前には画像のリサイズ、トリミング、フィルタリング、回転に加え、EXIFの向きの補正ができます。ファイルはAJAXやチャンク単位で送信できるほか、フォーム送信時にbase64としてエンコードして送ることもできます。UIはキーボードで操作でき、VoiceOverやJAWSなどのスクリーンリーダーでテスト済みです。また、モバイルとデスクトップのどちらのレイアウトにも対応します。
コアライブラリは、プレビュー、検証、ファイル名の変更、メタデータ、PDFの処理などをカバーするプラグインシステムで拡張できます。React、Vue、Angular、Svelte、jQuery向けの公式アダプターがあり、コミュニティ製アダプターは複数のサーバーサイドフレームワークに対応しています。
主な機能
- 01ドラッグ&ドロップ、ファイル選択ダイアログ、貼り付け、API経由でファイル、ディレクトリ、リモートURL、Data URIを追加できます。
- 02チャンク単位およびAJAXでのアップロードに対応し、フォーム送信時のbase64エンコードも利用できます。
- 03アップロード前に画像をリサイズ、トリミング、フィルタリングし、EXIFの向きを補正できます。
- 04キーボードで操作でき、VoiceOverやJAWSを含むスクリーンリーダーでテスト済みです。
- 05プレビュー、検証、メタデータなどのプラグインで機能を拡張できます。
ユースケース
- クライアント側でリサイズしながら、Webアプリにアバターや写真のアップロード機能を追加する。
- React、Vue、Angular、Svelteのプロジェクトに複数ファイルをアップロードするフォームを組み込む。
- ブラウザーからバックエンドサーバーへ大容量ファイルをチャンク単位でアップロードする。
- スクリーンリーダーを利用するユーザー向けに、アクセシブルなアップロードウィジェットを提供する。
クイックスタート
- 1
npmからFilePondをインストールする
npm install filepond - 2
FilePondをインポートし、複数ファイルのアップロードコンポーネントを作成する
import * as FilePond from 'filepond'; - 3
コンポーネントをDOMに追加する
使う前に知っておきたいこと
- Quick Startのコードは概要を示すものです。アップロードを受け取るには、別途バックエンドのエンドポイントが必要です。
- READMEによると、テストカバレッジは約65%です。
- テスト用にv5 alphaが公開されているため、メインのAPIは変更される可能性があります。
収録されている特集
トピック
よくある質問
- filepond とは?
- ドラッグ&ドロップ、画像の最適化、分割アップロードに対応し、React、Vue、Angular、Svelte向けアダプターを備えたJavaScriptファイルアップロードライブラリ。 FilePondは、ブラウザーでのファイルアップロードを扱うJavaScriptライブラリです。ファイルをドロップしたり、ファイルシステムから選択したり、貼り付けたり、API経由で追加したりできます。また、入力としてディレクトリ、Blob、リモートURL、Data URIを受け付けます。
- filepond は無料で使えますか?ライセンスは?
- filepond は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- filepond は今もメンテナンスされていますか?
- 活発にメンテナンス中。filepond の最終コミットは 2026年10月28日 です。
- filepond は何に使えますか?
- クライアント側でリサイズしながら、Webアプリにアバターや写真のアップロード機能を追加する。 React、Vue、Angular、Svelteのプロジェクトに複数ファイルをアップロードするフォームを組み込む。 ブラウザーからバックエンドサーバーへ大容量ファイルをチャンク単位でアップロードする。 スクリーンリーダーを利用するユーザー向けに、アクセシブルなアップロードウィジェットを提供する。
- filepond のインストール方法は?
- npmからFilePondをインストールする: npm install filepond FilePondをインポートし、複数ファイルのアップロードコンポーネントを作成する: import * as FilePond from 'filepond'; コンポーネントをDOMに追加する
- filepond はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pqina/filepond
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
再開可能なアップロード、クラウド用ファイルピッカー、Webカメラ撮影、すぐに使えるDashboard UIを備えた、ブラウザー向けのモジュール式JavaScriptファイルアップローダー。
モバイルWebアプリ開発向けの、80種類以上のコンポーネントを備えた軽量でカスタマイズ可能なVue UIライブラリ。
アップロードAPIとURL経由のオンザフライ変換に対応した、画像・GIF・MP4・音声・テキスト向けのセルフホスト型ファイルホスティングサービス。
PDF.jsを基盤に、PDFの各ページを画像のように表示するReactコンポーネントライブラリ。
Vue向けのMaterial Design UIコンポーネントフレームワーク。Webアプリケーション構築に使える、手作りのレスポンシブなコンポーネントを提供します。