3

スケジュールされたタスク用の.NETラッパーを使用して、リモートの場所からサーバー上のタスクをスケジュールするASP.NETWebアプリケーションを作成しています。しかし、私は立ち往生しています。

ユーザーは、サーバー上のファイルシステムを参照して、このアプリケーションでユーザーが作成している新しいタスクの「実行するファイル」を取得できる必要があります。filepath / filenameを取得し、それを.NETラッパーに渡す必要があります。

HTMLInputFileを使用してみましたが、それを機能させる方法が見つかりませんでした。

どんな助けでも大歓迎です。

ありがとう


更新:
このプロジェクトでは、セキュリティのために、ファイルシステムへの完全なアクセスを実際に必要としないため、ユーザーが使用できるドロップダウンボックスに実行可能ファイルをリストすることにしました。

4

4 に答える 4

4

HTMLInputFile は、クライアントのファイル システムを参照し、サーバーにファイルをアップロードするために使用されます。サーバーのファイル システムの参照には使用されません。

かなり異なるものが必要になります。サーバー側のフォルダー構造をブラウザー経由でユーザーに表示するには、サーバー側のコードが必要です。

これの基本的な実装の例がここにあります。

アップデート:

そのサンプルでは、​​「yourfolderHere」を置き換えるパスは、絶対パスではなく仮想パスである必要があります。たとえば、「C:\Inetpub\wwwroot\uploads」は機能しませんが、「uploads」は機能します。

このようなものを実装する際には、考慮すべき深刻なセキュリティ上の問題があることは言うまでもありません。

于 2009-01-29T18:38:14.897 に答える
0

HTMLInputFile は、クライアント側のマシンでのみ機能します。

サーバー側でブラウズする ASPX/HTML でファイルシステム ブラウザを作成する必要があります。そんなに難しくないはずです。

<input type="file"タグは使用できません。
これにより、クライアント マシンを参照するクライアント側のダイアログが表示されます。

于 2009-01-29T18:35:24.323 に答える
0

私の知る限り、独自の「ブラウザ」を作成する必要があります。

たとえば、My.Computer.Filesystem クラスを使用して、フォルダー内のファイルのリストを取得し、それらを Web ページに表示できます。次に、ユーザーは関連するファイルを選択し、応答をサーバーに送信します。

于 2009-01-29T18:37:22.073 に答える
0

System.IO.Directory を使用して、ディレクトリとファイルを取得できます。これらは、さまざまな方法で表示できます。50 行未満のコードで、ブラウザとファイルの簡単な選択が可能になるはずです。

また、ファイル システムにアクセスできるように、Web アプリを実行するユーザーに追加のアクセス許可を付与する必要がある場合があることにも注意してください。

これにはさまざまなセキュリティ上の影響もあるため、本当に必要でない限り、すべてへのアクセスを許可しないでください。

于 2009-01-29T18:41:55.280 に答える