クライアント マシンからサーバーにファイルをアップロードするための ASP.NET ファイル アップロード コントロールがある Web ページがあります。今度は n 回アップロードしたいと思います。例: ローカル PC からサーバーに 100 個のファイルをアップロードしたい.私のプログラムでExcelファイルから読み取ることができる100個のファイル名.しかし、このファイルをファイルアップロードコントロールに割り当てる方法はありますか?
4 に答える
これはセキュリティ上の制限です。アップロード ボックスのファイル選択をスクリプト化することはできません。これにより、ハッカーがスクリプトを記述してコンピュータからファイルを盗むことが可能になるためです。
この Silverlight アップロード ユーティリティを使用できます。これは、「機会があれば使用するもの」のリストです。
優れた UI を備えており、一度に多くのファイルをアップロードできます。私はもともと、私たちが引用していた写真のウェブサイトのためにいくつかの調査を行ってそれを突き止めましたが、そのプロジェクトは失敗に終わりました.
とにかく、プロジェクトはここにあります:
また、完全なソース コードが含まれているため、コントロールの開発者が放棄した場合でも、自分で編集することができます。
いいえ、セキュリティ機能として、FilUpload コントロールでは何をダウンロードするかを設定できません (Web サイトにサインオンし、パスワード ファイルなどをアップロードするように設定されていると想像してください)。
現在、おそらく別のコントロール、またはこれを回避するコーディング方法がありますが、FileUpload コントロールはそれを許可しません。
UI を処理するjQuery Multifile Uploaderを使用することをお勧めします (必要な場合)。そして、実際のファイル転送を処理するFree ASP Uploadsによる実際のアップロード。プログラムをプログラムで処理しているように聞こえるかもしれませんが、マルチファイルをスキップして、無料の ASP アップロードだけで作業できます。
これを実現するには、独自の Flash オブジェクトまたは何かを作成する必要があります。基本的な HTML/ASP.Net コントロールでは、探していることを実行できません。
これには、ある種のアクティブまたはインストール可能なコントロールを作成する必要があります。これを行う際のセキュリティ ホールを回避するには、最終的にマシン上でコードを実行して、ファイルを選択してアップロードできる必要があります。
その時点で、あなたはプラットフォーム固有なので...
Web サイトに自動的にファイルをアップロードさせるのではなく、WinForms ユーティリティを作成してこのタスクを実行し、必要な場所にファイルをアップロードしたり、Web サービスを介して Web サイトと通信したりすることを強くお勧めします。