1

Silverlight OpenFileDialog でファイルからフルネームを取得したいのですが、それを試みると、Silverlight からエラーがスローされます。

FullName に [SECURITY CRITICAL] という属性があるのを見ましたが、フル パスを表示する必要があります。

4

4 に答える 4

2

はい、Silverlight ではフル パス情報を取得できません。あなたのトピックは、この質問と密接に関連しているようです。多分そこにある答えはあなたの質問にもっと光を当てるでしょう.

于 2009-09-04T12:39:50.910 に答える
2

OpenFileDialog は、それらのファイルを変更してほしくないという理由だけで、完全な名前を提供しません。Silverlight では、分離されたストレージにのみアクセスでき、ファイルはこのストレージの外にある可能性があります。ただし、ファイルを開いて分離ストレージにコピーし、そこで変更することもできます。バスフレンドもこのリンクを見つけて上に投稿したこと
を発見しました。私の間違い。繰り返しになりますが、リンクは Google のトップ 20 に入っています。:-)

完全なファイル名を取得できないもう 1 つの理由は、そのファイル名に機密情報が含まれている可能性があるためです。たとえば、「マイ ドキュメント」フォルダ内のファイルは、ユーザーのログイン名を公開する可能性があります。

基本的に、これはセキュリティ上の制限です。たとえそれが可能であっても、それをバイパスすることは想定されていません。これを回避する方法が見つかった場合、MS はおそらくセキュリティ更新プログラムをリリースして、そのリークを再び閉じるでしょう...

于 2009-09-04T13:06:11.993 に答える
1

ここに記載されているように File プロパティを使用してみてください: MSDN

于 2009-09-04T12:29:57.840 に答える
1

Silverlight OpenFileDialog は、セキュリティ上の理由から、標準フォームの OFD とは異なる動作をします。SelectedFile を取得すると、実際には、ファイルへのパスではなく、ファイルのNameを含むFileDialogFileInfoオブジェクトが返されます。考えてみると、これは完全に理にかなっています。ファイルシステムのハンドルを取得できる悪意のあるコードを誰かに書いてほしくないのです。

于 2009-09-04T12:39:54.217 に答える