2011-09-08 9 views
0

私が取り組んでいるアプリケーションでは、ユーザーはファイルのパスを入力するよう求められます。このパスは、常にサーバーがアクセスできるネットワークドライブを指します。ユーザーはファイルのパスを選択できますか?

現時点では、FileUploadのPostedFile.FileNameプロパティからパスを描画するために、これを行うためにasp:FileUploadコントロールを使用しています。

問題は、ユーザーが選択しているファイルがかなり厳しくロックダウンされていることです。サーバーにはフルアクセス権がありますが、ユーザーはディレクトリの内容を表示する権限しかありません。ファイルを開くことさえできません。これまではうまくいきました...しかし、Windows 7では、FileUploadで生成されたファイルピッカーにこれらのファイルが表示されないため、代替案が必要です。

注:既に場所でファイルを開くダイアログに似たUIを取得する方法を探してい

  • クライアントのローカルファイル(共有ネットワークドライブを含む)を表示する機能は、サーバー経由でファイルを一覧表示することは可能ですが、ボーナスになります。

答えて

1

私は問題がこれらのファイルのアクセス許可だと思う。ユーザーがそれらを開くことさえできない場合、端末はどのようにウェブサイトにそれらをアップロードする可能性がありますか?

私はこれが今まで働いたことに驚いています。

ユーザーが単にパスを提供していて、実際にファイルをアップロードしていない場合、サーバーはフォルダの内容を(リストなどで)表示し、ユーザーがそれを選択することができます。

0

ユーザーが「ファイルを選択」をクリックすると、ネットワークドライブのルートコンテンツを示す新しいウィンドウが開きます。ユーザーは、ディレクトリの周りを目的のファイルにナビゲートし、最後にファイルをクリックして「アップロード」することができます。

System.IO Directory.GetFilesを使用して、ディレクトリ内のファイルを取得します。

0

私はあなたが2つのことを分ける必要があると思います。あなたは、標準のファイルを使用することができます

クライアントファイル

は(パソコンからのファイル)を選択OR(サーバーからのファイル):ここでの例では、アイデアを伝えるために求められています-uploadコントロール、それはいいです。

サーバーファイル

んが、ユーザーがアップロード・ファイルダイアログを使用してサーバからファイルを選択すべきではありません。 (これらのダイアログボックスでは、右クリックメニューの削除、コピー、プロパティなどが許可され、ロックされているかどうかに留意してください。

このようにして「do-it-all」となるコントロールはありません。私はあなたの最善の策はここに独自のインターフェイスを作ることだと思います。

関連する問題