18

ユーザーが一度に複数のファイルをアップロードできるようにする簡単な方法が必要です (つまり、ユーザーがフォルダーをアップロードできるようにする必要があります)。ユーザーに圧縮の負担をかけたくありません。

可能であれば、Flash やバリアントは避けたいと思います。 可能であれば、まっすぐな javascript / HTML ソリューションを探しています。これにより、次の回答が除外されることに注意してください: What is the best client side browser library to upload multiple files over http? .

4

7 に答える 7

27

HTMLとJavascriptだけではできません。複数のファイルをアップロードするためのMooToolsプラグインであるFancy Uploadを試すことをお勧めします。JavaScript と Flash を組み合わせて使用​​しますが、正常に機能を低下させます。IE6 を含むすべての主要なブラウザーで動作し、ダウンロード可能な Flash 10 互換リリースもあります (ただし、デモはまだ更新されていません)。


更新 (2012 年 11 月 26 日):

valumまたはblueimpファイル アップローダーを使用すると、複数のファイルをアップロードできます。

再帰的なディレクトリアップロードの場合、最適なソリューションはChrome 11 の新しいフォルダ アップロード APIを使用することです。ベンダー プレフィックスを使用すると、Firefox でも動作するようです。

于 2008-10-31T18:24:06.113 に答える
4

Firefox 42 と Edge が新しいディレクトリ アップロードの提案を実装したことで、クロスブラウザのディレクトリ アップロードがついに可能になります。API は厄介なので、私のラッパーであるuppieをチェックしてみてください。

于 2015-07-26T20:24:51.207 に答える
3

Flash (そしておそらく Java?) を避けている場合、JS/HTML のみのソリューションには単一ファイルの s が必要ですが、基本的には にイベントをinput添付し、ファイルが選択されるたびに DOMに new を追加します。onchangeinputinput

于 2008-10-31T17:16:00.867 に答える
2

valumまたはblueimpファイル アップローダーを使用すると、複数のファイルをアップロードできます。

再帰的なディレクトリアップロードの場合、オプションはさらに制限されます。

于 2012-11-21T04:25:04.357 に答える
1

これは純粋な js/html ソリューションではありません。EndangeredMassa が指摘したように、それは不可能です。実際、このアイデアは IE/Windows のみのソリューションです。お勧めしませんが、使えます。

だから、すべての免責事項はさておき...

何年も前に、私たちは FileSystemObject をインスタンス化するクライアント側の作業を行っていました。各ファイルを繰り返し処理し、一度に 1 つずつサーバーに渡します。私たちがそれをどのように行ったかの詳細を思い出せません:o(

とにかく、これは通常、クライアントボックスがそのサイトを信頼済みサイトのリストに追加し、信頼済みサイトにオフになっている一連の権限を与える必要があることを意味しました (非常に正当な理由により)。安全とマークされていない ActiveX コントロールを初期化してスクリプト化する機能など。そういうこと。

これが完璧な答えではないことはわかっていますが、正しい方向に向けることができます.

于 2008-10-31T17:31:22.647 に答える
1

FTP? また、必要な場合は、Java アプレット、ActiveX、または必要なものをラップします。

そうでない場合は、フラッシュは必要ありませんが、SWFUpload は非常に優れているため、適切なオプションとして再検討することをお勧めします。

于 2008-10-31T17:34:56.727 に答える
1

ExtJSライブラリを使用した純粋な JS ソリューションを次に示します。

于 2008-10-31T23:25:32.870 に答える