3

ユーザーが UNC パスを使用してドキュメントをリンクできるようにする ASP.Net サイトに取り組んでいます。このサイトは、当社の顧客が内部プロセスに使用しているため、ドメインのすべてのユーザーが UNC パスにアクセスできる必要があります。

ユーザーがリンクされたドキュメントを追加する場合、FileUpload コントロールを使用してファイルを選択します。以前の .Net 2.0 では、コントロールの PostedFile.FileName プロパティはファイル名と完全な UNC パスを返しました。現在、.Net 4.0 を使用しており、ファイル名のみを返します。

主な質問は次の とおりです。PostedFile.FileName は .Net 4.0 と 2.0 では動作が異なりますか?

そうでない場合、他に何がこの問題を引き起こす可能性がありますか?

4

1 に答える 1

6

.NET ではなく、セキュリティで成長した Internet Explorer だと思います。

ここから:

さらに、「ファイルのアップロード時にローカル ディレクトリ パスを含める」URLAction は、インターネット ゾーンに対して「無効」に設定されています。この変更により、潜在的に機密性の高いローカル ファイル システム情報のインターネットへの漏洩が防止されます。たとえば、フル パス C:\users\ericlaw\documents\secret\image.png を送信するのではなく、Internet Explorer 8はファイル名 image.png のみを送信するようになりました

だからあなたはできる

  1. サーバー側コードのロジックを変更する - クライアント側のファイル パスの場所に依存せず、単純に FileUpload コントロールの FileName プロパティを使用する必要があります。

  2. IE 8 / IE 9 オプションを有効にして、クライアント側のインターネット ゾーンのローカル ディレクトリ パスを含めます (ユーザーを悩ませます)。

ここに画像の説明を入力

于 2012-07-09T21:47:27.047 に答える