私はWebアプリケーションを開発中です。ユーザーがHTTPプロトコルでファイルをアップロードできる場所が1つあります。古典的なHTMLファイルアップロードコントロールとファイルをアップロードするためのJavaアプレットの選択肢があります。ブラウザから複数のファイルをアップロードする最良の方法
一度に1つのファイルしか選択できないため、実際のアップロード中に進捗状況を表示することは非常に難しいので、古典的なHTMLファイルのアップロードは素晴らしいことではありません(最終的には、 AJAX呼び出しによってサーバーからフェッチされたデータ)。利点:それは常に働いています。
Javaアプレットでは、複数のファイルを一度に(フォルダでも)選択し、ファイルを圧縮し、実際の進行状況バーを取得し、アプレット上でファイルをドラッグアンドドロップします。
しかし、いくつかの欠点があります:
- それは(おかげでLiveConnectの)それは、MacのSafariとMacのFirefoxで正しく動作するために取得するには悪夢だ
- は、UIは正確にネイティブUIではなく、一部の人がいることに気づきます
- アプレットはそれほど反応しません(私の誤りかもしれませんが、すべてが私には大丈夫です)
- Java
UrlConnection
クラスにHTTPSのバグがあるため、Apacheの一般的なHTTPクライアントを使用して実際のHTTPアップロードを行います。これはかなり大きなパッケージだと.jarファイルのダウンロードが遅くなり - Apacheの一般的なHTTPクライアントがプロキシ経由
- Javaランタイムを行くのトラブルは、私はこれを維持してきた
かなり大きいです時々いますJavaアプレットはしばらくの間、私はすべての欠点にうんざりして、これらのファイルをアップロードするための全く新しいコンポーネントの作成/購入を検討しています。
質問
次の要件があった場合:HTTPまたはHTTPS
- アップロード複数ファイルのアップロード時間を短縮するためにファイルを圧縮し
- アップロードは任意のプラットフォームで動作するはずです。ネイティブUI
- は、最大2GBの巨大なファイルをアップロードできる必要があります。トン以上
- あなたは
何技術/ compontentあなたが使用する技術に白紙委任を持っていますか?
編集:
- コンポーネント上のファイルのドラッグアンドドロップは素晴らしいプラスになります。
- Flash Player(swfupload known issues)のバグに関する多くの問題があるようです。適切なMacのサポートと、認証付きのプロキシ経由でのアップロードは、私が無理なく行うことができるオプションです。これは、おそらくすべてのFlashベースのオプションを排除するでしょう:-(。
- 従来のHTMLコントロールでは、一度に複数のファイルを選択することはできないため、すべてのHTML/Javascript専用オプションを除外します。フォルダ内の複数のファイルを選択する場合は、「参照」ボタンをn回クリックするのが苦労します。
再開可能なアップロードはどうですか?それは私にとって本当に重要なようです。数時間後に失敗したアップロードを再開したい人は誰もいません。 –
真の場合は、まだFlashを使用できるとは思っていません。Java(とSilverlightのみ) –
こんにちは、他のFlashベースのアップローダはhttp://digitarald.de/project/fancyupload/ –