いくつかの解決策がありますが、完全に機能するものはありません。
プラットホーム
- ASP.NET / VB.NET / .NET 2.0
- IIS6
- IE6 (主に)、一部の IE7。Firefox は必須ではありませんが、便利です
許可されたサードパーティ オプション
- 閃光
- ActiveX (避けたい)
- Java (避けたい)
現在の試行
Gmail スタイル: JavaScript を使用して新しいアップロード要素 (input type='file') を追加し、ボタンをクリックするだけでそれらを一度にアップロードできます。これは機能しますが、それでも多くのクリックが必要です。(目に見えない ActiveX コントロールを使用して、ファイル サイズなどを検出することができました。これは便利です。)
Flash アップローダ: 1x1 のフラッシュ ファイルを使用してアップローダとして機能し、javascript で呼び出し可能な Flash Upload コントロールをいくつか発見しました。(そのようなコントロールの 1 つはFancyUpload、もう 1 つはDojo の Multiple File Uploader、さらにもう 1 つはCodeProject の darick_cによるものです。) これらは私を興奮させましたが、すぐに 2 つの問題に遭遇しました。
- Flash 10 では、複数ファイルのアップロード ダイアログ ボックスを呼び出すために使用される機能が壊れます。回避策は、透明なフラッシュ フレームを使用するか、フラッシュ ボタンを使用してダイアログ ボックスを呼び出すことです。それは大したことではありません。
- イントラネットで使用されている統合 Windows 認証は、Flash ファイルがファイルをアップロードしようとするときに使用されず、ユーザーに資格情報の入力を求めます。これを回避するには、Cookie を使用しないセッションを使用します。これは、他のいくつかの理由により、プロジェクトにとって悪夢となります。
Java アップローダ: Java ベースの複数ファイル アップローダがいくつかあることに気付きましたが、そのほとんどはお金がかかるようです。本当にうまく機能するものを見つけたら、それを購入するように手配できます. 私はむしろしないでください。私はそれらのほとんどの外見も好きではありません。私が FancyUpload を気に入ったのは、それが html/javascript とやり取りして、好きなように簡単にスタイルを設定したり管理したりできるからです。
ActiveX Uploader : ActiveX ソリューションも見つけました。ActiveX が動作するようです。それを買う代わりに、自分で書くだけです。これが最後の手段になると思います。
解像度
FancyUpload のようなものを使用できるようになりたいです。何らかの方法で資格情報のプロンプトを処理できれば、完璧です。しかし、私の調査によると、唯一の実際の回避策は Cookie を使用しないセッションであり、私にはそれができないようです。
したがって、質問は次のとおりです。上記の問題を解決する方法はありますか、または同じ目標を達成する、私がリストしていない別の解決策がありますか?