AlbanXの Axuploaderを使用できます。それは持っています。
- すべてのブラウザでの複数ファイルのアップロード
- html5 ブラウザー (IE 以外) での複数ファイルの選択
- html5 ブラウザで進捗情報をアップロードする
- html5 ブラウザーでのファイル サイズ情報
- Flash なし、Silverlight なし、他のプラグインでは JavaScript のみ
- IE 6 以降、Firefox 2 以降、Safari 2 以降、Chrome 1 以降をサポート
- パフォーマンスを向上させるために、ファイルをチャンク単位でアップロードします
- サーバーの最大投稿サイズと最大アップロード ファイル サイズの制限に依存しない
Widen の Fine-Uploaderを試すこともできます。それは持っています。
- FF、Chrome、および Safari の複数ファイル選択、進行状況バー
- FF、Chrome、および Safari (OS X) でのドラッグ アンド ドロップ ファイル選択
- アップロードはキャンセル可能です
- FineUploader または FineUploaderBasic を使用する場合、外部依存関係はまったくありません。オプションの jQuery ラッパーを使用する場合は、もちろん jQuery が必要です。
- FineUploaderBasic は、関連する Fine Uploader JavaScript ファイルのみを必要とします。Fine Uploader の css ファイルと画像ファイルはすべて省略できます。
- フラッシュを使用しない
- HTTPS で完全に動作
- IE7+、Firefox、Safari (OS X)、Chrome、IOS6、およびさまざまなバージョンの Android でテスト済み。IE10にも対応しました!
- ファイルが選択されるとすぐにアップロードする機能、または後でユーザーの要求に応じてアップロードするために「キューに入れる」機能
- アップロードの失敗時にサーバーからの特定のエラー メッセージを表示する (失敗したアップロード項目にカーソルを合わせる)
- 失敗したアップロードを自動再試行する機能
- ユーザーが失敗したアップロードを手動で再試行できるようにするオプション
- 独自のファイル バリデータを作成するか、Fine Uploader に含まれるデフォルトのバリデータを使用します。
- アップロード プロセスのさまざまな段階でコールバックを受け取る
- 各ファイルとともにサーバー側のパラメーターを送信します。
- ドラッグ アンド ドロップでディレクトリをアップロードします (Chrome 21 以降)。
- クエリ文字列またはリクエスト本文にパラメーターを含めます。
- API 経由でアップロードするファイルを送信します。
- ファイルを複数のリクエストに分割します (ファイルのチャンク/パーティショニング)。
- 以前のセッションから失敗した/停止したアップロードを再開する
- アップロードしたファイルを削除する
- CORS サポート
- API 経由で Blob オブジェクトをアップロードします。
- アイテムの上限を簡単に設定して適用します。
- 貼り付け (Chrome) で画像をアップロードします。
- スタンドアロンのファイルとフォルダーのドラッグ アンド ドロップ モジュール。デフォルトで FineUploader モードに統合されています。
- 関連するファイルに影響を与えるコールバックで非同期 (非ブロッキング) タスクを実行する
- モバイル デバイスのカメラから直接画像をアップロードする
- アップロードされたファイルの統計を取得し、ステータスの変化に関するコールバックを受け取ります
- などなど!
または、持っているjQuery-File-Upload プラグイン(IE と互換性があります)。
- 複数ファイルのアップロード: 複数のファイルを一度に選択して同時にアップロードできます。
- ドラッグ アンド ドロップのサポート: デスクトップまたはファイル マネージャーからファイルをドラッグして、ブラウザー ウィンドウにドロップすることで、ファイルをアップロードできます。
- アップロードの進行状況バー: 個々のファイルのアップロードの進行状況と、すべてのアップロードを組み合わせたアップロードの進行状況を示す進行状況バーを表示します。
- キャンセル可能なアップロード: 個々のファイルのアップロードをキャンセルして、アップロードの進行を停止できます。
- 再開可能なアップロード: 中止されたアップロードは、Blob API をサポートするブラウザーで再開できます。
- チャンク アップロード: Blob API をサポートするブラウザーを使用すると、大きなファイルを小さなチャンクでアップロードできます。
- クライアント側の画像のサイズ変更: 必要な JS API をサポートするブラウザーを使用して、画像をクライアント側で自動的にサイズ変更できます。
- 画像のプレビュー: 必要な JS API をサポートするブラウザーを使用して、アップロードする前に画像ファイルのプレビューを表示できます。
- ブラウザー プラグイン (Adobe Flash など) は不要: 実装は HTML5 や JavaScript などのオープン スタンダードに基づいており、追加のブラウザー プラグインは必要ありません。
- レガシー ブラウザーのグレースフル フォールバック: サポートされている場合は XMLHttpRequests 経由でファイルをアップロードし、レガシー ブラウザーのフォールバックとして iframe を使用します。
- HTML ファイル アップロード フォームのフォールバック: JavaScript が無効になっている場合、標準の HTML ファイル アップロード フォームを表示します。
- クロスサイト ファイル アップロード: クロスサイト XMLHttpRequests を使用した別のドメインへのファイルのアップロードをサポートします。
- 複数のプラグイン インスタンス: 同じ Web ページで複数のプラグイン インスタンスを使用できます。
- カスタマイズ可能で拡張可能: 個々のオプションを設定し、さまざまなアップロード イベントの callBack メソッドを定義するための API を提供します。
- マルチパートおよびファイル コンテンツ ストリームのアップロード: ファイルは、標準の "multipart/form-data" またはファイル コンテンツ ストリーム (HTTP PUT ファイル アップロード) としてアップロードできます。
- サーバー側アプリケーション プラットフォームとの互換性: 標準の HTML フォーム ファイルのアップロードをサポートする任意のサーバー側プラットフォーム (PHP、Python、Ruby on Rails、Java、Node.js、Go など) で動作します。
参考文献
HTML5で動作する優れたファイル アップローダーについては、「jQuery を使用した10 の HTML5 ファイル アップロードの例」を参照してください。
また、ここ10+ PHP Ajax Upload File Tutorials - Free Downloadでは、多くのアップローダーから選択できます。